读 《微服务架构和实践》 笔记

来源:互联网 发布:搜索排名优化策划 编辑:程序博客网 时间:2024/06/03 20:26

  微服务架构与实践

概述:

  传统架构中,一个项目的开发 测试 发布都是在单一节点完成的,这样做的好处是开发简单,测试方便,部署也是打包就一键部署了,随着项目的不断变大以,业务的纵向延伸以及节点的横向扩展,开发的难度在数量级的倍增,单节点的开发不在合适中大型项目,微服务架构应运而生。

  相比传统的单节点的开发,微服务架构把项目各种切割成很多微服务,微服务可以单独部署发布,不同微服务之间可以通过轻量级的通信机制进行沟通,业务解耦合,分布式开发是微服务的精髓

微服务的本质和特性

  1.1 服务作为组件

  划分的不同单元模块可以进行独立部署,不影响其他服务

  1.2 技术多样性

单一架构的项目很难使用不同的语言,微服务之间可以通过接口进行轻量级通信,不同服务对语言没有要求,可以选择最合适的语言进行

  1.3业务独立性

传统业务架构倾向于使用数据存储平台来进行不同系统之间的集成,微服务架构可以根据不同微服务选择合适自己的数据库,

提供业务数据接口集成微服务之路并不是一马平川的,微服务的挑战


  2.1 性能

  微服务的互相通信需要跨网络,跨进程,网络延迟和性能会影响业务的运行
  2.2 可靠性

单节点故障造成的系统无法运行

  2.3 异步

对于需要及时返回的通信请求,会使用异步进行处理以免造成消息阻塞,但同时增加了开发的难度


  2.4 数据一致性

分布式系统中为了保证数据一致性通常会使用分布式事务管理,由于分布式事务管理会在多个节点保证事务的一致性因为比起

单节点的架构的事务,其成本要高的多。通常我们也会考虑数据的最终一致性来解决数据的瞬时一致性造成的

系统的不可用。
3微服架构的基础组件
  3.1 分布式日志收集合并  splunk

  将分布式的日志收集合并到一个节点,强大的搜索查询功能,可设置报警告知

  3.2 本机状态监控报警   nagios

  本机性能监控,监控cpu,网络服务,主机资源,有web页面,学习成本低
  3.3 一次镜像 到处安装  Docker

  开源的liunx应用容器,安装部署一次docker镜像,能够在各个节点上进行部署运行,降低了维护成本
 
3.4 异步通信  MQ或者后台处理系统

  在节点之间通信的时候,通常是http,其基于tcp/ip 并不是一个低延迟的方式,如果需要低延迟,可以借助第三方组件,如rabbitmq,activemq。如果觉得这种方式比较重,那么可以考虑采用轻量级后台任务处理系统



   小结:

<<微服务架构和实践>> 一书的实战性极强,简述了搭建微服务的基本知识面,适合初次接触的学者,书中知识面广,深度不深,适合初学者。

  




              

         

         

         

 




0 0
原创粉丝点击