微服务中的服务发现与数据序列化
在微服务开发中,服务发现和数据序列化是两个至关重要的主题。下面为你详细介绍这两方面的内容。
服务发现(Service Discovery)
服务发现允许微服务动态地找到彼此,从而使得系统在添加或移除服务实例时无需修改服务代码。以电影服务调用元数据服务为例,当我们运行电影服务的 go run 命令后,检查其输出日志,若一切配置正确,会看到类似如下的日志:
2022/06/08 13:37:42 Calling metadata service. Request:
GET http://localhost:8081/metadata
这是对由 Consul 支持的服务注册表进行调用的结果。在元数据服务网关的实现中,我们会从注册表中随机选择一个活跃实例,并在调用前记录其地址。若有多个元数据服务实例,多次发送 curl 请求会发现电影服务总是随机选择其中一个实例。
通过这种方式,我们展示了如何在微服务中使用服务发现。现在可以动态扩展微服务,添加或移除实例时无需修改服务代码。同时,我们有两种服务注册表的实现可供在代码中使用。
数据序列化(Serialization)
在掌握了搭建 Go 微服务、创建 HTTP API 端点和设置服务发现等基础知识后,接下来将探索数据序列化这一高级主题。数据序列化是将数据编码和解码以便在服务间存储或传输的过程。为了说明如何使用序列化,我们将使用 Protocol Buffers 格式定义服务间传输的
超级会员免费看
订阅专栏 解锁全文

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



