View profile

#69 - Sử dụng kỹ thuật stream replication để scale PostgreSQL database tốt hơn

Revue
 
Cảm ơn bạn ledongthuc đã đóng góp ý kiến cho câu hỏi tuần trước (xem bên dưới). Tuần này, mời các bạn
 

Grokking Newsletter

May 19 · Issue #69 · View online
Tuyển tập những bài viết hay cùng sự kiện bổ ích dành cho kĩ sư phần mềm tại Việt Nam.

Cảm ơn bạn ledongthuc đã đóng góp ý kiến cho câu hỏi tuần trước (xem bên dưới). Tuần này, mời các bạn cùng đóng góp ý kiến cho câu hỏi:
“Bạn có đồng ý việc chia sẽ thông tin cá nhân cho các hãng công nghệ như FB để sử dụng vào mục đích nâng cao trải nghiệm người dùng”
Nếu bạn thấy email này bổ ích, hãy forward đến 3 người bạn của bạn nhé (để team biên tập có động lực duy trì và cải tiến newsletter nhiều hơn nữa).

Những bài viết hay
Big Web App? Compile It!
Deriving Data Structures
High availability and scalable reads in PostgreSQL
Có thể bạn chưa biết
Upstream và downstream là hai thuật ngữ để ám chỉ vị trí tương đối của components trong một hệ thống trong chuỗi phụ thuộc lẫn nhau. Ví dụ như một hệ thống có 4 services A, B, C, D với mối quan hệ như sau:
  • Mũi tên từ service A đến server B có nghĩa là service B sẽ cần truy xuất đến service A -> service B phụ thuộc vào service A.
  • Trong sơ đồ này, service A sẽ được gọi là Upstream của service B, tương tự service B sẽ được gọi là upstream của service D.
  • Downstream có ý nghĩa tương tự, nhưng là cho chiều ngược lại.
Your voice
Chúng tôi đã nhận được ý kiến từ bạn ledongthuc cho câu hỏi “Bạn nghĩ sao về những mục cơ bản cần phải có của bản thiết kế một tính năng trong phần mềm?”. Cảm ơn bạn ledongthuc đã đóng góp ý kiến.
1. Business flow chart: dùng để mô tả lại flow business của tính năng cần thiết kế
2. Components Flow charts: Dùng để mô tả các components/service trong hệ thống giao tiếp với nhau như thế nào. Trong này cũng định nghĩa luôn các component của 3rd mình cần giao tiếp.
3. Flowcase: Gần như flow chart nhưng detail từng cases. Success flow ra sao, fail flow ra sao, retry ra sao, retry fail ra sao, rollback ra sao, fail rollback ra sao, timeout running ra sao, unreachable 3rd service thì ra sao.
4. Screens + Screen flow: Nếu đổi liên quan tới UI thì trông nó sẽ nào. Bấm cái gì ra cái gì, quẹt cái gì ra cái gì.
5. API: những API nào cần thêm/đổi, API đó là kiểu gì, socket, webservice, REST, … Giao tiếp ra sao, method thế lào, data nhưng nào. Auth kiểu gì, vpn hay sao, bla bla bla
6. Storage design: Lưu data như thế nào, db gì, table gì, column ra sao. Caching ra sao. Index db ra sao, bla bla bla
7. Những tech liên quan hoặc cần chú ý: Nếu feature có những phần đặc thù cần note ra: xài encryption abcxyz, key kiểu gì, có amoured hay ko, xài protocal ISO 8583. Hoặc những gì mà cái ở trên chưa cover dc thì thêm dưới này.
8. Document versioning, ko có cái này sẽ cãi nhau suốt giữa tech team vs business team.
Code & Tools
Quotable
“Every great developer you know got there by solving problems they were unqualified to solve until they actually did it.”
- Patrick McKenzie

Did you enjoy this issue?
If you don't want these updates anymore, please unsubscribe here
If you were forwarded this newsletter and you like it, you can subscribe here
Powered by Revue
Charmington La Pointe, 181 Cao Thang, Dist 10, Ho Chi Minh city, Viet Nam