架构初探-谁动了我的奶酪| 青训营笔记

49 阅读2分钟

这是我参与「第五届青训营 」伴学笔记创作活动的第1天

架构初探-谁动了我的奶酪

鉴于有一定go基础,直接从架构笔记入手

1-架构定义

是有关软件整体结构与组件的抽象描述,用于指导软件系统各个方面的设计。
包含了单机架构(简单-处理能力有限)、垂直应用|垂直切分,进一步发展到SOA、微服务架构|水平切分。 SOA(Service-Oriented Architecture)将应用的不同功能单元抽象为服务,定义服务之间的通信标准,微服务架构是SOA的去中心化演进方向

image.png

2-企业级后端架构

通过云计算的软件自动化管理,提供计算资源的服务网络,其基础为虚拟化技术和编排方案。 云原生包含了弹性计算资源、弹性存储资源、DevOps和服务网络

image.png

3-微服务架构

云原生之微服务架构主要包含通信标准HTTP(Restful API)和RPC(Thrift,gRPC)、中间件(性能、服务治理、消息队列等)和服务网格等。

image.png

企业级后端架构的挑战

  • 基础设施:物理资源有限(机器,带宽),资源利用率受制于部署服务
  • 用户层面:网络通信开销大,网络抖动导致运维成本提高,异构环境下不同实例资源水位不均。

解决方案

  • 离在线资源池:降低物理资源成本,提供更多的弹性资源。分清在线业务和离线业务的特点。
  • 自动扩缩容:降低业务成本,利用在线业务潮汐性自动扩缩容。
  • 微服务亲和性部署:满足亲和性条件的容器调度到一台宿主机,微服务中间件与服务网络通过共享内存通信,服务网格控制面实施灵活、动态的流量调度。
  • 流量治理:基于微服务中间件和服务网格的流量治理(熔断、重试、单元化、复杂环境的流量调度)
  • CPU水位负载:IaaS提供资源探针,服务网格动态负载均衡。 image.png

总结

没有最好的架构,只有最适合的架构。对于微服务架构有了更多的认识,但还需更进一步的实践,这需要通过此次大项目来检验,网企业级后端看齐,把流量什么的也给考虑清楚。