#91 - Best Practices for Event-Driven Microservice Architecture
Những bài viết hay
Best Practices for Event-Driven Microservice Architecture👩💻👨💻
Ngày càng nhiều hệ thống đang chuyển dần sang mô hình SOA hoặc microservices. Trước đây, việc giao tiếp giữa các service thường được thực hiện thông qua REST. Ngày nay, ngày càng nhiều projects đã và đang chuyển sang mô hình event-driven để thay thế REST. Hãy cùng đi sâu vào những ưu và nhược điểm của kiến trúc phổ biến này.
How LinkedIn customizes Apache Kafka for 7 trillion messages per day — engineering.linkedin.com
Các phần mềm mã nguồn mở hiện nay đóng một vai trò rất lớn vào việc thành công của các sản phẩm lớn. Tại LinkedIn, hệ thống của họ có sự đóng góp của nhiều phần mềm nguồn mở mà trong đó Kafka là một ví dụ.
Tuy nhiên Kafka là một phần mềm phổ biến và đang được phát triển liên tục. Do đó để đảm bảo sự ổn định qua các phiên bản nâng cấp cũng như tạo ra những tính năng cần thiết, ở LinkedIn người ta đã tạo ra một bản clone của phần mềm này, customize nó cho phù hợp, đồng thời luôn theo dõi những thay đổi ở nhánh gốc (upstream) để cập nhật những tính năng mới. Cùng tìm hiểu workflow của team dev cũng như việc họ cập nhật các version như thế nào qua bài viết sau.
10 Lessons I Learned From Maintaining An Open Source Community For 4 Years
Việc đóng góp vào các dự án Open Source sẽ mang lại rất nhiều kiến thức cũng như kinh nghiệm hữu ích. Trong bài viết sau, tác giả chia sẻ những bài học từ quá trình tham gia vào các dự án Open Source.
Vì sao SQL lại quan trọng, kể cả khi bạn làm marketing, finance, operations… — medium.com
Một bài viết rất thú vị từ tác giả Duy Luân. SQL là một công cụ cực kỳ hữu ích và nếu tận dụng được nó, sẽ giảm bớt rất nhiều chi phí và công sức, nhất là đối với các đội business, sẽ không phụ thuộc quá nhiều vào team data.
Dictionary là một cấu trúc dữ liệu trừu tượng rất phổ biến được sử dụng để lưu trữ các cặp key-value. Trong bài viết sau, mời các bạn cùng tìm hiểu về cách cài đặt một hash table trong python. Bài viết giới thiệu khá đầy đủ, từ các kỹ thuật chaining, open addressing để giải quyết collision, cho tới các kỹ thuật resize hash table một cách ngắn gọn và dễ hiểu.
Code & Tools
PinalyticsDB: A Time Series Database on top of Hbase — medium.com
PinalyticsDB là một time series database của Pinterest. Tại Pinterest, họ dựa vào PinalyticsDB như một phần phụ trợ để lưu trữ và hiển thị hàng ngàn báo cáo được phân đoạn theo quốc gia.
Tin tức khác
GopherCon Vietnam 2019 — 2019.gophercon.vn
Tiếp nối thành công từ GopherCon 2018, vào tháng 11 năm nay team Golang Vietnam sẽ tiếp tục tổ chức sự kiện này. Đây không chỉ là một sự kiện giúp mang lại những kiến thức mới mẻ mà còn là cơ hội để các bạn lập trình viên có thể giao lưu học hỏi lẫn nhau. Nhanh chóng đăng ký và mua vé tham gia sự kiện tại https://2019.gophercon.vn/ nhé.
This week sponsor
KMS Technology
Thành lập năm 2009 với trụ sở chính tại Atlanta (US), KMS Technology cung cấp 3 dịch vụ chính: Gia công phần mềm (Software Outsourcing), đầu tư & phát triển sản phẩm công nghệ (Tech-Startup incubator), tư vấn dịch vụ giải pháp kỹ thuật. Với đội ngũ hơn 1000 nhân viên, KMS hướng đến khách hàng toàn cầu, từ các công ty startup đến các tập đoàn công nghệ lớn. Một số sản phẩm từ KMS đã được tín nhiệm trên thị trường thế giới: QASymphony, Katalon Studio, Kobiton. KMS Technology xây dựng một nơi làm việc năng động sáng tạo, chọn con người làm nền tảng văn hoá, nhiều năm liên tiếp nằm trong danh sách các nơi làm việc tốt nhất tại Việt Nam và Atlanta (Mỹ).
Góc tuyển dụng
Cơ hội việc làm tại KMS Technology:
Fresher Software/Test Engineer: http://bit.ly/KMS-Fresher-Jobs
Senior Software Engineers (.NET./Java/Front-end): http://bit.ly/KMS-SE-Jobs
Quote
Programs must be written for people to read, and only incidentally for machines to execute.
Harold Abelson, Structure and Interpretation of Computer Programs