微服务技术初体验

微服务——不知不觉中,已经涉入了微服务这个略显神密的技术体系。前期一直在开发的Python系统,应用Flask开发服务接口,就是一个典型的微服务,而如何实现微服务的管理,则需要一个良好的技术架构去管理,其目的在于实现:

       服务注册、服务发现、服务路由、服务熔断管理、服务调用管理以及访问过滤、配置管理等东东...

近期收集整理部分微服务资料,作为学习的记录先行收录博客之中。之前读过大半部分的《微服务架构与实现》估计近期可以抽空再次阅读,将之前不解之处一一化解,同时网上有人推荐网文也先行登记,待认真研读。

实践出真知,一项技术需要深入其中,才可理解与掌握。

以下为摘录内容(微服务与云技术关联上了,呵呵......):

1、何为微服务,优势?

微服务架构是一项在云中部署应用和服务的新技术。大微服务可以在“自己的程序”中运行,并通过“轻量级设备与HTTP型API进行沟通”。 微服务架构与服务公开是有所区别的,在服务公开中,许多服务都可以被内部独立进程所限制。如果其中任何一个服务需要增加某种功能,那么就必须缩小进程范围。在微服务架构中,只需要在特定的某种服务中增加所需功能,而不影响整体进程的架构。微服务不需要像普通服务那样成为一种独立的功能或者独立的资源。

微服务作为一项在云中部署应用和服务中一项热门技术,被认为是未来的方向。通过将应用和服务分解成更小的、松散耦合的组件,它们可以更加容易升级和扩展。它的基本思想在于考虑围绕着业务领域组件来创建应用,这些应用可独立地进行开发、管理和加速。在分散的组件中使用微服务云架构和平台,使部署、管理和服务功能交付变得更加简单。微服务在业务能力、自动化部署、终端智能以及语言和数据的分散控制等方面有一定的技术优势。

2、云平台微服务相关联的分布式服务框架

云平台的微服务架构,是一类分布式服务框架,该框架至今经历了约四代的进程:

  • 第一代服务框架

代表:Dubbo(Java)、Orleans(.Net)等

特点:和语言绑定紧密

  •  第二代服务框架

代表:Spring Cloud等

现状:适合混合式开发(例如借助Steeltoe OSS可以让ASP.Net Core与Spring Cloud集成),正值当年

  •  第三代服务框架

代表:Service Mesh(服务网格) => 例如Service Fabric、lstio、Linkerd、Conduit等

现状:在快速发展中,更新迭代比较快

  • 未来主流的服务架构和技术栈

代表:Istio、Kubernetes、docker、Openstack......

基础的云平台为微服务提供了资源能力(计算、存储和网络等),容器作为最小工作单元被Kubernetes调度和编排,Service Mesh(服务网格)管理微服务的服务通信,最后通过API Gateway向外暴露微服务的业务接口。

Spring Cloud是一个基于Spring Boot实现的云原生应用开发工具,它为基于JVM的云原生应用开发中涉及的配置管理、服务发现、熔断器、智能路由、微代理、控制总线、分布式会话和集群状态管理等操作提供了一种简单的开发方式。

3、Spring Cloud架构特点

  • 约定大于配置
  • 适用于各种环境
  • 隐藏了组件的复杂性,并提供声明式、无XML式的配置方式
  • 开箱即用,快速启动
  • 组件丰富,功能齐全

Spring Cloud作为第二代微服务的代表性框架,已经在国内众多大中小型的公司有实际应用案例。

  •  

4、Spring Cloud核心子项目

Spring Cloud Netflix:核心组件,可以对多个Netflix OSS开源套件进行整合,包括以下几个组件:

Eureka:服务治理组件,包含服务注册与发现

Hystrix:容错管理组件,实现了熔断器

Ribbon:客户端负载均衡的服务调用组件

Feign:基于Ribbon和Hystrix的声明式服务调用组件

Zuul:网关组件,提供智能路由、访问过滤等功能

Archaius:外部化配置组件

Spring Cloud Config:配置管理工具,实现应用配置的外部化存储,支持客户端配置信息刷新、加密/解密配置内容等。

Spring Cloud Bus:事件、消息总线,用于传播集群中的状态变化或事件,以及触发后续的处理

Spring Cloud Security:基于spring security的安全工具包,为我们的应用程序添加安全控制

Spring Cloud Consul : 封装了Consul操作,Consul是一个服务发现与配置工具(与Eureka作用类似),与Docker容器可以无缝集成

学习书籍《微服务架构与实践》、网文:一个可供中小团队参考的微服务架构技术栈

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章