微服务

这篇博客详细介绍了微服务的定义、特点、基本思想以及与单体架构和SOA的区别。讨论了Restful架构、微服务的设计原则和拆分原则,提到了微服务的优缺点,并列举了Spring Cloud、Dubbo等开发框架。还探讨了客户端如何通过API Gateway访问服务、微服务间的通信、注册中心和负载均衡策略。
摘要由CSDN通过智能技术生成

微服务

一 定义

微服务架构是一项在云中部署应用和服务的新技术
可以在"自己的程序"中运行  , 并通过"轻量级设备与HTTP型API进行沟通"
微: 狭义来讲就是体积小 ,  意思就是说单个服务的设计  ,所有参与人从设计 , 开发 , 测试 , 运维所有人加起来只需要2个披萨就够了
服务: 所谓服务 , 一定要区别与系统 , 服务一个或者一组相对较小且独立的功能单元 , 是用户可以感知最小功能集

二 特点

 1 微服务不需要像普通服务那样成为一种独立的功能或者独立的资源

 2 微服务是需要业务能力相匹配

 3 微服务是利用组织的服务投资组合 , 然后基于业务领域功能分解它们 , 在看到服
   务投资组合之前 , 它还是一个业务领域

三 基本思想

在于考虑围绕着业务领域组件来创建应用 , 这些应用可独立地进行开发 , 管理和加速 , 在分散的组件中使用微服务架构和平台 , 部署 , 管理和服务功能交付变得更加简单

四 诞生时间

 出现于2012年 

五 服务平台

开源工作流平台Imixs-Workflow

六 Imixs的微服务

基于Imixs的工作流引擎的复杂功能构建的
它可以以多种不同的方法来控制业务数据
可以发送电子邮件推送消息 , 日志业务交换 , 还可以确保所有类型业务数据的安全

七 工具开发

 Seneca是构建微服务框架的工具

八 微服务风格

是一种使用一套小服务来开发单个应用的方式途径 , 每个服务运行在自己的进程中 , 并使用轻量级机制通信 , 通常是HTTP API , 这些服务基于业务能力构建 , 并能够通过自动化部署机制来独立部署

九 微服务与单体架构区别

1 单体架构带来的问题

  1) 复杂性逐渐变高
  2) 技术债务逐渐上升
  3) 部署速度逐渐变慢
  4) 阻碍技术创新
  5) 无法按需伸缩

2 区别

  1) 耦合度
     单体: 所有的模块全都耦合在一起 , 代码量大 , 维护困难
     微服务: 每个模块就相当于一个单独的项目 , 代码量明显减少 , 遇到问题也相
             对来说比较好解决
  2) 数据库
     单体: 所有的模块都共用一个数据库 , 储存方式比较单一
     微服务: 每个模块都可以使用不同的储存方式 (比如有的用redis , 有的用mysql)
             数据库也是单个模块对应自己的数据库
  3) 开发技术
     单体: 所有模块开发所使用的技术一样
     微服务: 每个模块都可以使用不同的开发技术 , 开发模式更灵活

十 微服务与SOA

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值