基于Azure的微服务扩展与响应式编程
1. 微服务扩展基础
在微服务架构中,扩展是一个关键问题。Azure Container Service曾是使用DC/OS、Docker Swarm或Google Kubernetes对Linux或Windows容器进行扩展和编排的不错选择,但自2020年1月31日起,Azure Containers将不再可用,取而代之的是微软大力投入的Azure Kubernetes Service (AKS),更多信息可访问: https://docs.microsoft.com/en-us/azure/aks/ 。
2. 服务设计扩展
在设计或实现微服务时,有几个关键组件需要考虑,通过合理设计这些组件,可以充分发挥微服务架构的优势,为业务带来更多价值。
2.1 数据持久化模型设计
传统应用通常依赖关系型数据库来持久化用户数据,关系型数据库遵循ACID模型,读写操作使用相同的数据模型。然而,在微服务环境下,现代应用需要进行超大规模扩展,将读写操作混合在单个数据库中会带来扩展性问题。因为读操作通常需要比写操作更快,且读操作可以使用不同的过滤条件返回结果,而写操作涉及的行数或列数较少但耗时较长。
为了解决这个问题,可以采用Common Query Responsibility Segregation (CQRS)架构,即将基本数据模型拆分为两部分,一部分用于所有读操作,另一部分用于所有写操作。这样可以更轻松地使用不同策略优化两个数据模型,使微
超级会员免费看
订阅专栏 解锁全文
1220

被折叠的 条评论
为什么被折叠?



