进一步了解微服务

栏目: IT技术 · 发布时间: 5年前

内容简介:周末又看了一个微服务专栏,还是上家公司工程师写的,重实战,理论体系差一点,所以有些地方说不到位,但确实提供了一个完整的概念,本文做个笔记。微服务本质是为了提升效率:开发效率、协作效率、运维效率。微服务的特点就是拆分力度更细、服务独立部署、独立维护、更高的治理能力。对于小团队,我觉得能做到服务化也非常不错,而微服务则结合了敏捷开发、持续交付、容器化、DevOps,要求更高。

周末又看了一个微服务专栏,还是上家公司工程师写的,重实战,理论体系差一点,所以有些地方说不到位,但确实提供了一个完整的概念,本文做个笔记。

微服务本质是为了提升效率:开发效率、协作效率、运维效率。微服务的特点就是拆分力度更细、服务独立部署、独立维护、更高的治理能力。

对于小团队,我觉得能做到服务化也非常不错,而微服务则结合了敏捷开发、持续交付、容器化、DevOps,要求更高。

微服务包含的核心组件:

  • 服务描述,就是如何定义和发布你的服务,一般和RPC框架紧密联系。

  • 注册中心,由于微服务拆分的非常细,调用者和服务者必须通过发布和订阅的方式互相协作。

  • 服务框架,微服务粒度非常细,所以必须有一个RPC框架,定义通信协议、数据传输方式、序列化、服务定义,是不是RPC框架等同于微服务?

    单体应用一般使用短连接,服务请求都在本地,而微服务拆分的太细,必须有更好的网络通信框架,比如开始以为gRPC是跨语言的框架,后来了解到只是客户端支持多语言,说明 PHP 语言不太合适了。

  • 服务治理,为了更好的解决问题,包括监控、敏捷开发等,即使不搞微服务,服务治理也是非常重要的。

学好微服务可能要掌握一个RPC框架,而RPC框架的编程方式和类PHP动态语言机制是非常不同的,需要转变思路,比如并发编程、网络通信框架,线程池,所以 Go 语言?

微服务核心是RPC框架和异步队列,所以不管什么架构,队列解耦都非常重要,不管搞不搞微服务,队列应该好好琢磨。

对于服务治理来说,如何管理节点,客户端如何进行负载均衡、路由(在单体应用中主要是服务器短控制)、容错,都非常复杂。比如在容错方面,调用失败是常态,所以如何解决呢?调用不了数据库怎么办?单体应用由于业务比较耦合,一个数据库连接实例能服务很多查询,而微服务由于调用之间都是隔离的,情况就更复杂。

有些RPC框架包含了注册中心、服务框架、服务治理,两张图给我印象深刻。

dubbo服务治理图:

进一步了解微服务

dubbo一次完整的调用图:

进一步了解微服务

dubbo这样的RPC框架包含基本的微服务组件,而Spring Cloud全家桶提供服务注册组件、配置中心组件、负载均衡组件、追踪组件,如下图:

进一步了解微服务

从上图看出,不管将来搞不搞微服务,对于监控来说,Zipkin、ELK、Prometheus可以整一整。

微服务是和容器化、DevOps紧密相连的,所以理解它们也很重要。

Docker进程是一个应用级进程,却有自己独立的空间,Docker镜像不光可以打包应用程序本身,还可以打包应用程序的依赖,甚至包含操作系统。有了Docker,就可以保持开发环境、测试环境、线上环境一致性。Docker本质上是分层机制,

容器化后,其本身如何管理呢?它需要发布到镜像仓库中,如何搭建自己的镜像仓库?原理是什么?如何满足高可用和一致性?

镜像要发布到什么机器上呢?这属于资源调度的问题,难点在于如何对接不同的集群,管理集群的权限,如何初始化集群的环境,比如引入Ansible,一致化操作系统和应用环境都非常重要。

服务发布的时候,选择那些机器部署属于容器调度,著名的就是Kubernetes,难点在于如何知道那些机器是存活的,不同集群类型对应的服务器配置, 具体的调度策略是什么。

什么是服务编排呢?

  • 微服务之间是有依赖的,这就要求在容器调度的时候,考虑依赖的问题。

  • 服务发现,如何让消费者发现服务?

  • 扩容缩容

感觉 docker 、Kubernetes和微服务结合很紧密,但不搞微服务,它们也非常重要,容器化运维平台应该怎么搞?

容器化也要涉及到DevOps了,DevOps的出现也是因为效率的需要,让开发、测试、运维不隔离,合为一体,开发人员不仅要负责业务开发,还要负责测试以及上线发布跟踪等一系列过程,其核心概念就是CI/CD,持续集成、持续部署,主要的技术栈就是GitLab或Jenkins。


以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持 码农网

查看所有标签

猜你喜欢:

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

顾客要买什么

顾客要买什么

[美]迈克尔·西尔 / 方海萍 / 中国人民大学出版社 / 2006-10 / 38.00元

《顾客要买什么》告诉我们全球的中产阶级如何正在改造着消费品市场:对低价的产品和服务进行趋低消费,对于高端的产品和服务要趋优消费,而对于日趋乏味、价值降低的中档商品则避而远之。这些消费者大多是女性,教育程度高,可支配收入多,买东西的时候也更会精打细算。她们选购、使用商品和服务的时候都是有目的的,有一种大权在握的感觉。消费对她们来说并不是非做不可的麻烦事,也不是什么无法避免的琐事,而是如何明智地花钱的......一起来看看 《顾客要买什么》 这本书的介绍吧!

Base64 编码/解码
Base64 编码/解码

Base64 编码/解码

RGB HSV 转换
RGB HSV 转换

RGB HSV 互转工具

HEX HSV 转换工具
HEX HSV 转换工具

HEX HSV 互换工具