微服务介绍

微服务

微服务架构发展

  • 微服务这个概念最早是在2011年5月威尼斯的一个软件架构会议上讨论提出的,用于描述一些作为通用架构风格的设计原则;
  • 2012年3月在波兰举行的Degree Conference大会,james lewis做演讲,讨论了微服务一些原则与特征,如单一职责、康威定律,自动扩展,DDD等;
  • 微服务架构则是2012年的一次技术大会Fred George提出的,演讲如何拆分服务以及利用MQ进行服务解耦;这是微服务雏形;
  • Martin Fowler在2014年发表微服务文章
  • 2016年4月 LightBend公司创始人,akka的作者jonas发布响应式微服务架构;

发展趋势

在这里插入图片描述

单体架构

在这里插入图片描述

单体架构开发和维护简单,我们单体的spring boot项目使用到tomcat服务器、访问数据库等就是单体架构;

垂直架构

单体架构业务耦合度高,于是部署多个系统解耦,如用户、订单、商品子系统;

通过nginx负载均衡来调度;

在这里插入图片描述

SOA架构

在这里插入图片描述

在这里插入图片描述

为了提高复用性,又采用了SOA架构,通过抽象服务来实现功能复用;用户系统的服务可由多个子系统提供;

微服务架构

在SOA架构思想上提炼,服务治理和交付链不断完善

在这里插入图片描述

优点

独立开发 – 所有微服务都可以根据各自的功能轻松开发

独立部署 – 基于其服务,可以在任何应用程序中单独部署它们

故障隔离 – 即使应用程序的一项服务不起作用,系统仍可继续运行

混合技术堆栈 – 可以使用不同的语言和技术来构建同一应用程序的不同服务

粒度缩放 – 单个组件可根据需要进行缩放,无需将所有组件缩放在一起

常见概念

服务治理

服务治理就是服务的自动化管理,最核心就是服务的自动注册和发现

服务调用

微服务架构,常需要进行服务间的远程调用;

主流的有基于Http的Restful接口,基于TCP的rpc协议;

服务网关

随着服务的不断增多,不同的微服务有不同的网络地址,外部客户端可能需要调用很多个服务接口才能完成一个业务需求,如果让客户端直接与各个服务通信可能会出现问题:

每个微服务需要单独的身份权限认证;

在一定的场景下,存在跨域问题;

服务容错

微服务中,一个请求通常需要调用多个服务,如果调用链中的服务出现问题,那么其他的服务也会受到影响,我们不能避免发送,能做的是在出现问题时容错;

链路追踪

一次请求跨越多个服务,我们需要对一条请求的服务链进行链路追踪,记录日志,监控性能;

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值