[英]spring boot different instances of a microservice and data integrity
如果同一個微服務的多個實例包含自己的數據庫,那么為了可伸縮性,如何在創建,更新或刪除操作時更新所有數據庫? 哪個工具與Eureka和Zuul彈簧兼容?
我建議你使用一個基於事件的架構,其中任何服務完成了他的工作,它產生了事件,其他服務訂閱該事件也將開始他的工作。
你可以使用Kafka queue
。 另外,閱讀微服務的分布式Sagas
還有一件事是通信間使用UDP而不是TCP。
目前,大多數數據庫提供復制,延遲接近0。 除非您使用其他數據庫,否則您可以讓數據庫為您執行同步。
我建議你使用RabbitMQ
消息隊列的基本體系結構很簡單,有些客戶端應用程序稱為生成器,它們創建消息並將它們傳遞給代理(消息隊列)。 其他稱為使用者的應用程序連接到隊列並訂閱要處理的消息。 軟件可以是生產者,消費者,也可以是消費者和消息的生產者。 放置在隊列中的消息將被存儲,直到消費者檢索它們。
為什么要使用這個RabbitMQ? https://www.cloudamqp.com/blog/2015-05-18-part1-rabbitmq-for-beginners-what-is-rabbitmq.html
rabbitMQ的官方文件.... https://www.rabbitmq.com/
如何安裝rabbitMQ: https ://www.journaldev.com/11655/spring-rabbitmq
Spring啟動應用程序中的配置:
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.