这是一个关于微服务技术大揭秘PPT的幻灯片,PPT内容完整共41页,文件大小为4MB,下载后可自行编辑修改,当前优惠价为28元,其他微服技术PPT可以在牛图文直接搜索下载。
微服务是目前最先进的架构设计思想,在许多国内外大互联网公司得到成功的应用,其核心是化繁为简、化整为零,把应用分解为小的服务模块进行独立开发。微服务的这一特点使其便于部署到容器,对整个开发、测试、运维都发生了革命性影响,有力地支持了devops开发,提高效率,便于维护升级和故障处理,带来了一系列优势。那么,微服务有哪些奥秘呢?下面从技术原理上进行剖析。
化整为零的思路不是开发一个巨大的单体式的应用,而是将应用分解为小的、互相连接的微服务。一个微服务一般完成某个特定的功能,比如下单管理、客户管理等等。每一个微服务都是微型六角形应用,都有自己的业务逻辑和适配器。一些微服务还会发布API给其它微服务和应用客户端使用。其它微服务完成一个Web UI,运行时,每一个实例可能是一个云VM或者是Docker容器。
Spring Cloud是微服务开发的优秀框架,在spring Boot的基础上进行开发,Spring Cloud为开发者提供了在分布式系统(如配置管理、服务发现、断路器、智能路由、微代理、控制总线、一次性Token、全局锁、决策竞选、分布式会话和集群状态)操作的开发工具。使用 Spring Cloud 开发者可以快速实现上述这些模式。
微服务的特点在于根据业务提炼不同的服务,系统经过拆分,根据不同的功能划分出基础服务和核心服务。各子系统调用多个核心服务完成功能,核心服务调用多个基础服务。核心服务之间和基础服务之间不能互相调用。一般服务模块只能访问自己的数据库,对其他数据库的数据,通过调用其服务提供的接口完成。
要搞好服务抽象,确定服务边界,确定合适的服务粒度,服务高内聚、低耦合,充分复用,还需要合理划分服务的数据库,实现高度自治。
服务的访问分3种方式:
1.采用rest方式同步调用服务,支持不同语言和环境。
2.采用消息方式异步并行调用服务,提高性能和可用性。
3.采用asynTemplate异步调用服务,通过future获取结果。
4.使用rpc方法访问,性能最优,google的grpc很棒。
根据业务的特点,灵活采用上面的方法调用服务,有效地提升系统性能。
复杂度可控:在将应用分解的同时,规避了原本复杂度无止境的积累。每一个微服务专注手单一功能,并通过定义良好的接口清晰表述服务边界。由于体积小、复杂度低,每个微服务可由一个小规模开发团队完全掌控,易子保持高可维护性和开发效率。
独立部署:由于微服务具备独立的运行进程,所以每个微服务也可以独立部署。当某个微服务发生变更时无需编译、部署整个应用。由微服务组成的应用相当于具备一系列可并行的发布流程,使得发布更加高效,同时降低对生产环境所造成的风险,最终缩短应用交付周期。
技术选型灵活:微服务架构下,技术选型是去中心化的。每个团队可以根据自身服务的需求和行业发展的现状,自由选择最适合的技术栈。由于每个微服务相对简单,当需要对技术进行升级时所面临的风险较低,甚至完全重构一个微服务也是可行的。
容错:当某一组建发生故障时,在单一进程的传统架构下,故障很有可能在进程内扩散,形成应用全局性的不可用。在微服务架构卞,故障会被隔离在单个服务中。若设讦良好,其他服务可通过重试、平稳退化等机制实现应用层面的容错。
扩展:单块架构应用也可以实现横向扩展,就是将整个应用完整的复制到不同的节点。当应用的不同组件在扩展需求上存在差异时,微服雾架构便体现出箕灵活性,因为每个服务可以根据实际需求独立进行扩展。
微服务是目前最先进的架构设计思想,在许多国内外大互联网公司得到成功的应用,其核心是化繁为简、化整为零,把应用分解为小的服务模块进行独立开发。微服务的这一特点使其便于部署到容器,对整个开发、测试、运维都发生了革命性影响,有力地支持了devops开发,提高效率,便于维护升级和故障处理,带来了一系列优势。那么,微服务有哪些奥秘呢?下面从技术原理上进行剖析。
化整为零的思路不是开发一个巨大的单体式的应用,而是将应用分解为小的、互相连接的微服务。一个微服务一般完成某个特定的功能,比如下单管理、客户管理等等。每一个微服务都是微型六角形应用,都有自己的业务逻辑和适配器。一些微服务还会发布API给其它微服务和应用客户端使用。其它微服务完成一个Web UI,运行时,每一个实例可能是一个云VM或者是Docker容器。
Spring Cloud是微服务开发的优秀框架,在spring Boot的基础上进行开发,Spring Cloud为开发者提供了在分布式系统(如配置管理、服务发现、断路器、智能路由、微代理、控制总线、一次性Token、全局锁、决策竞选、分布式会话和集群状态)操作的开发工具。使用 Spring Cloud 开发者可以快速实现上述这些模式。
微服务的特点在于根据业务提炼不同的服务,系统经过拆分,根据不同的功能划分出基础服务和核心服务。各子系统调用多个核心服务完成功能,核心服务调用多个基础服务。核心服务之间和基础服务之间不能互相调用。一般服务模块只能访问自己的数据库,对其他数据库的数据,通过调用其服务提供的接口完成。
要搞好服务抽象,确定服务边界,确定合适的服务粒度,服务高内聚、低耦合,充分复用,还需要合理划分服务的数据库,实现高度自治。
服务的访问分3种方式:
1.采用rest方式同步调用服务,支持不同语言和环境。
2.采用消息方式异步并行调用服务,提高性能和可用性。
3.采用asynTemplate异步调用服务,通过future获取结果。
4.使用rpc方法访问,性能最优,google的grpc很棒。
根据业务的特点,灵活采用上面的方法调用服务,有效地提升系统性能。
复杂度可控:在将应用分解的同时,规避了原本复杂度无止境的积累。每一个微服务专注手单一功能,并通过定义良好的接口清晰表述服务边界。由于体积小、复杂度低,每个微服务可由一个小规模开发团队完全掌控,易子保持高可维护性和开发效率。
独立部署:由于微服务具备独立的运行进程,所以每个微服务也可以独立部署。当某个微服务发生变更时无需编译、部署整个应用。由微服务组成的应用相当于具备一系列可并行的发布流程,使得发布更加高效,同时降低对生产环境所造成的风险,最终缩短应用交付周期。
技术选型灵活:微服务架构下,技术选型是去中心化的。每个团队可以根据自身服务的需求和行业发展的现状,自由选择最适合的技术栈。由于每个微服务相对简单,当需要对技术进行升级时所面临的风险较低,甚至完全重构一个微服务也是可行的。
容错:当某一组建发生故障时,在单一进程的传统架构下,故障很有可能在进程内扩散,形成应用全局性的不可用。在微服务架构卞,故障会被隔离在单个服务中。若设讦良好,其他服务可通过重试、平稳退化等机制实现应用层面的容错。
扩展:单块架构应用也可以实现横向扩展,就是将整个应用完整的复制到不同的节点。当应用的不同组件在扩展需求上存在差异时,微服雾架构便体现出箕灵活性,因为每个服务可以根据实际需求独立进行扩展。
提示:预览文档经过压缩,下载后原文档超清晰!有任何问题联系客服QQ:43570874 微信:niutuwen 备注:牛图文