了解基于Spring Cloud的微服务框架

主宰稳场 提交于 2019-12-06 10:54:15

实习的公司正在做一个基于Spring Cloud的微服务框架的项目,今天大体了解了一下整个项目的结构,及时作下笔记。

1.首先是微服务的概念,以及为什么要创建以微服务为框架的项目。

  • 各个微服务相互独立,不会因为其他微服务出现问题,而整个系统全部崩溃。(松耦合)
  • 各个微服务功能、职责划分明确,不会因为项目的扩大而变得冗杂混乱。(高内聚)
  • 因为每个微服务只负责一部分功能,体积较小,所以单个启动速度要快很多,为开发人员节省大量时间。(小巧)
  • 轻量级通信机制(待理解)
  • 微服务本身与具体技术实现无关,扩展性强(不同微服务支持多种语言开发)

参考:https://blog.csdn.net/wuxiaobingandbob/article/details/78642020?locationNum=1&fps=1

2.项目本身由四类微服务构成:

  • eureka-server
  • config-server
  • gateway
  • 其他微服务

3.eureka-server(注册中心)

微服务启动时,eureka-server必须第一个启动,它的作用就是为其他微服务提供服务发现和注册。

启动eureka-server之后,其他微服务启动都会注册在eureka-server微服务上。

为什么需要服务注册和发现?(待进一步了解)

  • 服务重启或升级后ip地址变化,注册中心可以提供统一的管理。
  • 水平伸缩后服务实例的变化。
  •  同一个节点运行多个服务
  • 负载均衡

参考:https://blog.csdn.net/zhanglh046/article/details/78651914

4.config-server(统一配置)

在eureka-server之后作为第二个微服务启动,其他微服务统一从config-server读取配置。

这样做的优点?

  • 配置统一管理。
  • 实现热部署,更改配置不需要重启微服务(心跳)。(待进一步了解)
  • 一个微服务可以有多种配置文件,如开发环境、生产环境。https://my.oschina.net/u/3786691/blog/1928129

5.gateway(网关)

相当于为访问其他微服务设置了一道屏障,所有访问必须通过网关,为其他微服务提供了安全保障。

其他优点待了解。

 

其他:

6.docker和docker compose

听老大的解释docker相当于一台虚拟机,可以安装简化版的linux,以及一些应用,但是比虚拟机更有一些明显的优势。

百度百科定义:Docker 是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的容器中,然后发布到任何流行的Linux机器上,也可以实现虚拟化,容器是完全使用沙箱机制,相互之间不会有任何接口。

解释比较不容易理解,因此我又找了一个描述:

①了解虚拟机,虚拟机是带环境安装的一种解决方案。他可以在一种操作系统里面运行另一种操作系统。但是也正因为它是一个完整的操作系统,它也存在这操作系统的几个缺点:资源占用多、冗余步骤多、启动慢。

②了解Linux容器,为了解决上述虚拟机的一系列缺点,Linux发展出的另一种虚拟化技术。Linux容器不是一个完整的操作系统,而是对进程进行隔离。或者说,在正常的进程外面套了一个保护层。对于容器里面的进程来说,他接触到的各种资源都是虚拟的,从而实现了与底层操作系统的隔离。容器有点像轻量级的虚拟机,能够提供虚拟化的环境,但是成本开销小得多。

由于容器是进程级别的,相比虚拟机也就多了很多优势:启动快、资源占用少、体积小。

③Docker 属于 Linux 容器的一种封装,提供简单易用的容器使用接口。它是目前最流行的 Linux 容器解决方案。

参考:https://baijiahao.baidu.com/s?id=1591887487395526427&wfr=spider&for=pc

docker compose我的理解是一个批处理工具,简化docker的操作。(还带使用,进一步了解)

7.部署(待补充)

 

 

 

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!