Khi chọn xây dựng ứng dụng dưới dạng một microservice, chúng ta sẽ cần quyết định các client của ứng dụng sẽ tương tác với các microservices đó như thế nào. Với một ứng dụng monolithic, chỉ có một tập hợp các endpoint (thường sẽ được replicated, load balancing). Tuy nhiên, trong kiến trúc microservices, mỗi microservice lại có một tập hợp các endpoint chi tiết. Cùng tìm hiểu điều này ảnh hưởng như thế nào đến việc giao tiếp giữa client và ứng dụng và API Gateway sẽ góp phần giúp giải quyết bài toán ra sao.
Lấy ví dụ bạn đang phát triển một client cho một ứng dụng mua sắm trên mobile. Bạn có thể cần triển khai trang sản phẩm chi tiết để hiển thị thông tin về tất cả các sản phẩm cụ thể mà dịch vụ cung cấp.
Tuy là một ứng dụng dành cho mobile nhưng trang chi tiết sản phẩm lại hiển thị rất nhiều thông tin. Ví dụ: Không chỉ có thông tin cơ bản về sản phẩm (như tên, mô tả và giá) mà trang còn hiển thị: Số lượng mặt hàng trong giỏ hàng; lịch sử đơn hàng; phản hồi của khách hàng; cảnh báo hàng tồn kho thấp; tùy chọn vận chuyển.
Các đề xuất sản phẩm thay thế
Khi sử dụng kiến trúc microservices, dữ liệu hiển thị trên trang sản phẩm nằm trong nhiều microservices khác nhau. Một số microservice sở hữu dữ liệu được hiển thị trên trang sản phẩm trong ví dụ có thể phân thành như sau: Service Giỏ hàng - Số lượng mặt hàng trong giỏ; Service Order - Lịch sử đặt hàng; Service Danh mục - Thông tin cơ bản về sản phẩm như tên, hình ảnh và giá; Service Review - Đánh giá của khách hàng; Service Hàng tồn kho - Cảnh báo hàng tồn kho thấp; Service shipping - Các tùy chọn, thời gian và chi phí vận chuyển được tách riêng từ API của nhà cung cấp dịch vụ vận chuyển; Service Đề xuất - Các mặt hàng được đề xuất.
Chúng ta cần quyết định các client truy cập các dịch vụ này như thế nào.
![]() |
Nếu giao tiếp trực tiếp Client‑to‑Microservice
Trên lý thuyết, một client có thể đưa request trực tiếp cho từng microservice. Mỗi microservice sẽ có một public endpoint. Để lấy thông tin chi tiết về sản phẩm, client gọi trực tiếp đến từng service được liệt kê ở trên qua public endpoint. Nhưng, cách làm này có nhiều thách thức và hạn chế. Đầu tiên là nhu cầu của client và các API của mỗi microservice có thể không khớp với nhau. Client trong ví dụ này phải đưa 7 request riêng biệt. Trong các ứng dụng phức tạp hơn, có thể phải gọi nhiều hơn nữa.
Một vấn đề khác khi client gọi trực tiếp đến các microservice là một số service có thể sử dụng các giao thức không thân thiện với web. Các giao thức như HTTP và WebSocket thường được khuyến nghị sử dụng.
Bên cạnh đó, việc việc tái cấu trúc các microservices, ví dụ như gộp 2 service thành 1 hay tách 1 service thành 2 sẽ cực kỳ khó khăn.
Các thách thức còn đến từ việc lập trình viên sẽ phải phát triển riêng phần Authentication, Authorization cho từng service gây tốn thời gian, gặp nhiều khó khăn, hay chưa có hệ thống monitor, logging cho từng service (latency, tỉ lệ timeout, log truy cập của từng service).
Để phân tích rõ hơn về những khó khăn này, đồng thời đưa ra giải pháp giải quyết hiệu quả hơn từ API Gateway, độc giả hãy tham gia cùng Bizfly Cloud trong buổi Bizfly Expert Talk #36 với chủ đề: ‘’API Gateway trong kiến trúc microservice” diễn ra vào ngày 09/03 tới đây.
![]() |
Tham gia ngay để nhận ngay voucher dùng thử trị giá 500K khi truy cập: https://bit.ly/3MlV1G7
API Gateway được xem là phương pháp có thể giải quyết toàn bộ những khó khăn được đề cập phía trên. API Gateway là một servers (nhóm server) đóng vai trò như là một lối vào/ra duy nhất để truy cập các service. Ngoài nhiệm vụ định tuyến API phù hợp cho từng client, API Gateway có các chức năng như xác thực, giám sát, load balancing, rate limiting, health checks, logging và security.
Cung cấp giải pháp API Gateway được đóng gói sẵn đầu tiên tại Việt Nam, developer sẽ dễ dàng và thuận tiện hơn rất nhiều trong công việc phát triển của mình, doanh nghiệp tiết kiệm được rất nhiều chi phí, rất nhiều giờ công sức cho triển khai, vận hành. Tất cả sẽ được hé lộ trong buổi Talk bổ ích, hấp dẫn từ Bizfly Cloud.
Giới thiệu diễn giả:Theo hãng phân tích Elliptic, chính quyền Ukraine và các tổ chức nhân đạo tư nhân đã huy động được hơn 54 triệu USD tiền mã hóa từ 89.000 khoản quyên góp từ tuần trước. Hầu hết đều do ông Chobanian và Kuna điều phối. Số tiền dùng để mua sắm thiết bị quân sự, vật tư y tế và hàng hóa khác.
Tom Robinson, đồng sáng lập Elliptic, cho biết đây là lần đầu tiên một nhà nước kêu gọi “huy động vốn” bằng tiền mã hóa, phương thức mà các nhà hoạt động, chính trị gia và tổ chức khủng bố ưa chuộng vài năm trở lại đây. Tuy số tiền chưa thấm vào đâu so với các nguồn lực khác, chẳng hạn Tổng thống Mỹ Joe Biden đề xuất cứu trợ 6,4 tỷ USD cho Ukraine, nó cho thấy vai trò đặc biệt của tiền mã hóa.
Không bất ngờ khi chính phủ Ukraine dựa vào công nghệ trong giai đoạn này. Quốc gia Đông Âu đang cố gắng thúc đẩy kinh tế với sự trợ giúp của công nghệ, giới thiệu hệ thống chuyển tiền điện tử và thành lập Bộ Chuyển đổi số. Năm 2021, cả nước có hơn 200.000 nhân sự trong ngành và xuất khẩu công nghệ thông tin đạt 6,8 tỷ USD. Nước này cũng chính thức công nhận tính hợp pháp của Bitcoin và các loại tiền ảo năm ngoái.
Trên bảng xếp hạng Chỉ số ứng dụng tiền mã hóa toàn cầu của hãng phân tích Chainalysis, Ukraine xếp thứ 4 sau Việt Nam, Ấn Độ và Pakistan. Khoảng 8 tỷ USD tiền ảo “chảy” qua Ukraine mỗi năm. Ông Alexander Bornyakov, Thứ trưởng Bộ chuyển đổi số Ukraine, từng chia sẻ ý tưởng biến Ukraine trở thành một trong những khu vực pháp lý hàng đầu cho các doanh nghiệp tiền ảo.
Chia sẻ với Thời báo Phố Wall, ông Chobanian tiết lộ Bộ chuyển đổi số đã đề nghị Kuna kêu gọi quyên góp bằng tiền mã hóa. “Tiền mặt vô dụng vì nó có dạng vật lý”, ông Chobanian nói. Mang theo tiền mặt cũng rất nguy hiểm trong vùng chiến sự.
Hầu hết mọi người dùng thẻ tín dụng hoặc IBAN (mã số tài khoản quốc tế do các ngân hàng ban hành). Tiền ảo phù hợp với các khoản thanh toán lớn và xuyên biên giới. Giao dịch tiền ảo đặc biệt nhanh chóng so với phương pháp truyền thống. Chẳng hạn, các giao dịch Bitcoin thực hiện trong khoảng 10 phút, sau đó tiền sẽ được chuyển đi. Điều đó đồng nghĩa số tiền quyên góp gần như đến đích ngay lập tức.
Kuna sẽ chuyển đổi tiền ảo sang các loại tiền mã hóa khác hoặc tiền pháp định. Vài nhà cung ứng chấp nhận thanh toán bằng tiền ảo.
Quỹ của Kuna nhận được nhiều loại tiền ảo khác nhau: Bitcoin, Ether, Tether, Litecoin, Dogecoin… Trên Twitter, ông Chobanian cho biết chỉ riêng chính phủ Ukraine đã huy động được 31,5 triệu USD tiền ảo và giải ngân khoảng 17 triệu USD tính đến ngày 2/3.
Các quan chức Ukraine và Mỹ hiện lo ngại người Nga có thể dùng tiền ảo để né các lệnh cấm vận. Cuối tuần trước, Phó Thủ tướng Ukraine Mykhailo Fedorov đề nghị các sàn tiền ảo cấm người dùng Nga, điều mà không sàn nào đồng ý. Cho tới nay, chưa có bằng chứng nào cho thấy người Nga né tránh các biện pháp cấm vận của phương Tây bằng cách ứng dụng tiền mã hóa.
Du Lam (Theo WSJ, The Verge)
Khi căng thẳng Nga – Ukraine ngày một leo thang, các doanh nghiệp CNTT của Nga vẫn phải tìm cách hoạt động bình thường, đáp ứng yêu cầu khách hàng và hỗ trợ đất nước.
" alt=""/>Bitcoin và tiền ảo trong cuộc chiến Nga – Ukraine