微服务四层架构之平台层,和你心中的平台层一样吗?

2022-09-07  本文已影响0人  robot_test_boy

如果把每个微服务看作一栋住宅,那么平台层提供了道路、自来水、电线和电话线。

微服务平台层提供了工具、基础架构和一些高级的基本部件,以支持微服务的快速开发、运行和部署。

微服务平台层的功能

微服务需要由以下基础设施提供支持

1)服务运行的部署目标,包括基础设施的基本元件,如负载均衡器和虚拟机。

2)日志聚合和监控聚合用于观测服务运行情况。

3)一致且可重复的部署流水线,用于测试和发布新服务或者新版本。

4)支持安全运行,如网络控制、涉密信息管理和应用加固。

5)通信通道和服务发现方案,用于支持服务间交互。

一个具有鲁棒性的平台层既能够降低整体的实现成本,又能够提升整体的可稳定性,甚至能提高服务的开发速度。如果没有平台层,产品开发者就需要重复编写大量的底层的基础代码,无暇交付新的功能和业务价值。一般的开发者不需要也不应该对应用的每一层的复杂性都了然于胸。基本上,一个半独立的专业团队就可以开发出一套平台层,能够满足那些在服务层工作的团队的需求。


总结下,作者文中的比喻很形象,特意拿到文章开头,思考下什么是平台。

我心目中的平台长什么样子呢?

1) 微服务在PAAS平台上运行,服务部署和调用依赖于paas平台,以POD粒度调度。paas平台以集群方式存在,对节点的管理。

2) 网络组件,整个系统的网络负载均衡器,同一节点和不同节点间微服务POD通信。

3) 存储组件,所有微服务POD持久化PVC。

4) 服务注册中心,用于服务注册和服务发现以及请求转发。

5) 系统的监控能力,决定系统的可观测性。比如节点/微服务等性能指标监控(内存/CPU/磁盘分区),操作日志(客户端和服务端),安全日志(访问系统记录),告警通知微服务POD的调度记录

6) 高可用和容灾功能HADR,两地三中心提供服务和数据同步一致性。

7) 中间件集群,比如消息队列的Kafka /RabbitMQ/Redis集群等,数据库的Postgresql/Mysql集群等,FTP集群。

8) DNS域名解析器,服务间域名方式访问

9) 安全中心,HTTPS单双向认证,TOKEN认证等等。

10) 部署流水线,整个系统的搭建和维护,微服务的安装和升级,卸载等。还可能要支持灰度发布等。

你心目中的平台长什么样子呢?请留言。

摘取自 摩根·布鲁斯和保罗·A.佩雷拉的《微服务实战》

上一篇下一篇

猜你喜欢

热点阅读