1. Micro Service Introduction

1. What is Micro Services

使用一套小服务来开发各个应用的方式,每个服务启动单独的进程,一般采用轻量级的通讯机制互联,并且它们可以通过自动化的方式部署。
微服务是一种设计思想。

2. The characteristics of micro-services

单一职责:独立的业务单独放在一个项目里,比如订单服务作为一个项目。
轻量级的通信:http,rpc通信。
隔离性:每个服务相互隔离,不干扰
有自己的数据
技术多样性

3. Micro-service background birth

互联网行业的快速发展,需求变化快,用户数量变化快。
敏捷开发深入人心,用最小的代码,做最快的迭代,频繁修改、测试、上线。
容器技术的成熟,是为服务的技术基础。

4. The evolution of the Internet architecture road

1. Micro Service Introduction

4.1 single architecture

1. Micro Service Introduction

单体架构:
1.所有功能集成在一个项目中
2.项目整个打包,可以部署到服务器运行
3.应用于数据库可以分开部署,提高性能

优点:
1.小项目的首选,开发成本低,架构简单。

缺点:
1.项目复杂后,很难扩展和维护
2.扩展成本高,有瓶颈
3.技术栈受限制

4.2 vertical architecture

1. Micro Service Introduction

垂直架构:
1.对于单体架构的拆分,大项目拆成单个项目结构
2.存在数据冗余
3.项目之间要处理数据同步,通过数据库同步

优点:
1.小项目的首选,架构简单。
2.避免单体架构的无限扩大
3.技术不受限制

缺点:
1.很多功能放在一个工程中,有一定的瓶颈
2.系统性能扩展要通过集群节点扩展,成本较高

4.3SOA architecture (Service Oriented Architecture)

1. Micro Service Introduction

SOA架构:
1.将重复性的功能进行抽取,抽取成对应的服务。
2.通过ESB服务总线去访问。

优点:
1.提高系统可重用性
2.ESB减少系统接口耦合问题

缺点:
1.系统与服务界限模糊,不利于开发
2.ESB服务接口协议不固定,不利于系统维护
3.抽取力度较大,有一些耦合性

4.4 micro Services Architecture

1. Micro Service Introduction

微服务架构:
1.将服务层一个一个抽取微服务
2.遵循单一原则
3.微服务之间采用一些轻量协议传输数据

优点:
1.服务拆分粒度非常细,利于开发
2.提高系统可维护性
3.比ESB更轻量
4.适用于互联网更新换代快的情况

缺点:
1.服务过多,服务治理成本高
2.开发技术要求更高

5. Micro Services Chart

假设做个商城网站:
1.用户可以登录和注册,发短信验证
2.管理员可以查看商品,对商品增删改查

传统访问方式如下:

1. Micro Service Introduction

微服务架构访问方式

1. Micro Service Introduction

添加Apigateway,对客户端暴露一套API,方便调用

1. Micro Service Introduction

6. Advantages of micro Services Architecture

1.独立性
2.使用者容易理解
3.技术栈灵活
4.高效团队

7. lack of micro Services Architecture

1.额外的工作,服务的拆分
2.保证数据一致性
3.增加了沟通成本

Question 8. Micro service to be considered

8.1 microService how to communicate

从通信模式考虑:

1. Micro Service Introduction

从通信协议考虑:
RPC

8.2 How to discover each micro-services

传统服务下:
一般是IP,端口号访问

1. Micro Service Introduction

微服务发现有两种方式----客户端发现和服务端发现
客户端发现:
微服务启动后,将自己IP和和端口进行注册,客户端查询注册,得到服务的IP和端口,通过负载均衡,访问微服务。

1. Micro Service Introduction

服务端发现:
客户端访问时,不去注册中心了,通过服务发现代理去直接访问

1. Micro Service Introduction

How to 8.3 micro-service deployment, updating and expansion

微服务部署到docker容器中
涉及服务编排:k8s,swarm

Guess you like

Origin blog.51cto.com/10983441/2469849