微服务的现状和未来 程序员编程培训

程序员编程培训(微服务的现状和未来) 一、微服务的现状及未来 1.服务架构的演变 1.1 单体架构 ??单体架构应该是我们最先接触到的架构实现了,在单体架构中使用经典的三层模型,即表现层,业务逻辑层和数据访问层 。

微服务的现状和未来 程序员编程培训

文章插图
??单体架构只适合在应用初期,且访问量比较小的情况下使用,优点是性价比很高,开发速度快,成本低,但缺点也很明显,这时扩展的首先就是考虑服务器的集群处理 。1.2 集群 ??针对单个服务器在访问量越来越大的情况越来越吃力的情况,我们可以考虑服务器的集群化处理 。
微服务的现状和未来 程序员编程培训

文章插图
??集群的部署大大高了服务的处理能力,同时利用Nginx供的负载均衡机制,来分发请求,使用户的体验没有改变 。1.3 垂直化 ??上面的集群部署是可以解决一部分的服务器压力,但是随着用户访问量的增多,集群节点增加到一定阶段的时候,其实作用就已经不是太大了,因为将所有的业务都集中在一起,造成耦合度很高,这时我们可以考虑业务的拆分 。来高系统的性能 。比如将原来在一个系统里面的业务拆分为用户系统,订单系统和商品系统 。也就是我们讲的垂直化拆分如下:
微服务的现状和未来 程序员编程培训

文章插图
??服务垂直化拆分后是可以大大地高整体的服务处理能力,但是也会出现很多的冗余的代码,比如用户系统要操作订单库,要操作商品库,订单系统也有可能要操作用户库和商品库等 。
微服务的现状和未来 程序员编程培训

文章插图
1.4 服务化 ??针对垂直化拆分出现的问题,这时就出现了我们经常听到的SOA(面向服务的架构).什么是SOA呢?在《微服务设计》中有这么一段描述 SOA是一种设计方法,其中包括多个服务,而服务之间通过配合最终会供一系列功能,一个服务通常以独立的形式存在于操作系统进程中,服务之间通过网络调用,而非采用进程内调用的方式进行通信 。
微服务的现状和未来 程序员编程培训

文章插图
业务重用,共享服务,1.5 微服务化 ??在SOA的基础上继续演进就是我们讲的微服务 。SOA的服务更细粒度的拆分后就是微服务 。根据时间递进 。
微服务的现状和未来 程序员编程培训

文章插图
??对基础运维的要求能力会越来越高,虚拟化,容器化等 。微服务和SOA的区别: 1.思想上:微服务的目的是解耦而SOA的目的是实现数据的互通和共享性 。2.协议:微服务会使用一些轻量级的通信协议(Restful API) 3.基础设施要求,微服务更加强调开发运维的持续交付 。2. 微服务架构的需求 2.1 RPC框架 ??在微服务架构中,服务与服务之间要实现接口的调用我们肯定要通过相关的RPC(Remote Procedure Call)框架来实现 。
微服务的现状和未来 程序员编程培训

文章插图
??常用的RPC框架有:Dubbo,Google的GRPC,Apache的Thrift,微博的Motan,京东的EasyRPC等 。我们通过RPC框架可以去调用服务供者供的服务,但有一个前是我们要能找到这个服务 。通常我们的服务部署都是集群多节点的部署,所以在消费者这端就不可能直接写死在代码里面,这时就涉及到了服务的发现问题,这时就需要另一个组件注册中心了 2.2 注册中心 ??注册中心实现服务地址管理的功能,解决服务动态感知(上线,下线) 。
微服务的现状和未来 程序员编程培训

文章插图
2.3 负载均衡 ??在服务注册中心的介绍中我们可以看到负载均衡的应用 。我们可以通过Ribbon来实现客户端的负载均衡,负载均衡的策略可以是:轮询,随机,根据响应时间来计算权重的轮询等 。


以上关于本文的内容,仅作参考!温馨提示:如遇健康、疾病相关的问题,请您及时就医或请专业人士给予相关指导!

「四川龙网」www.sichuanlong.com小编还为您精选了以下内容,希望对您有所帮助: