6、微服务应用设计:架构、通信与存储全解析

微服务应用设计:架构、通信与存储全解析

1. 六边形架构优势

六边形架构对测试支持更为友好,它能通过隔离外部系统,更轻松地测试业务逻辑。这种架构解决了分层架构的弊端,是构建应用中各个服务的上佳之选。

2. 服务通信策略
2.1 服务发现

服务彼此通信前,必须先“知晓”对方,这就是服务发现。它是一种自动监控和发现计算机网络内设备或服务的机制,能让调用者动态感知网络设备的变化。现实中最大的服务发现系统或许就是 DNS,借助它我们能轻松访问互联网上大量的网站。

有人可能会问,为何需要服务发现?若应用初始化配置包含所有服务地址,不就能直接访问了吗?确实,服务数量较少时这种方法可行,但对于包含成百上千个服务的应用,就行不通了。新服务加入网络无法被自动发现,需修改配置并重启应用加载,频繁的配置更改会带来更高的维护成本。而且大规模服务集群的节点伸缩、版本和可用性状态频繁变化,若无自动检测机制,系统难以正常运行。所以,服务发现对微服务架构至关重要。

服务发现系统通常有三个角色:
- 服务提供者 :可理解为向外暴露 API 的 Web 服务,有 IP 地址和端口作为服务地址,在微服务应用中可视为上游服务,即被调用的服务。
- 服务消费者 :消费服务,访问服务提供者的 API 获取数据并实现功能,在微服务应用中可看作下游服务,即调用者。
- 注册中心 :可理解为集中存储服务地址信息的数据库,是服务提供者和消费者之间的桥梁。

若一个服务既访问上游服务又向下游服务提供 API

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值