微服务

简介: 微服务

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

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

3 微服务是利用组织的服务投资组合 , 然后基于业务领域功能分解它们 , 在看到服
务投资组合之前 , 它还是一个业务领域
1
2
3
4
5
6
三 基本思想
在于考虑围绕着业务领域组件来创建应用 , 这些应用可独立地进行开发 , 管理和加速 , 在分散的组件中使用微服务架构和平台 , 部署 , 管理和服务功能交付变得更加简单
1
四 诞生时间
出现于2012年
1
五 服务平台
开源工作流平台Imixs-Workflow
1
六 Imixs的微服务
基于Imixs的工作流引擎的复杂功能构建的
它可以以多种不同的方法来控制业务数据
可以发送电子邮件推送消息 , 日志业务交换 , 还可以确保所有类型业务数据的安全
1
2
3
七 工具开发
Seneca是构建微服务框架的工具
1
八 微服务风格
是一种使用一套小服务来开发单个应用的方式途径 , 每个服务运行在自己的进程中 , 并使用轻量级机制通信 , 通常是HTTP API , 这些服务基于业务能力构建 , 并能够通过自动化部署机制来独立部署
1
九 微服务与单体架构区别
1 单体架构带来的问题
1) 复杂性逐渐变高
2) 技术债务逐渐上升
3) 部署速度逐渐变慢
4) 阻碍技术创新
5) 无法按需伸缩
1
2
3
4
5
2 区别
1) 耦合度
单体: 所有的模块全都耦合在一起 , 代码量大 , 维护困难
微服务: 每个模块就相当于一个单独的项目 , 代码量明显减少 , 遇到问题也相
对来说比较好解决
2) 数据库
单体: 所有的模块都共用一个数据库 , 储存方式比较单一
微服务: 每个模块都可以使用不同的储存方式 (比如有的用redis , 有的用mysql)
数据库也是单个模块对应自己的数据库
3) 开发技术
单体: 所有模块开发所使用的技术一样
微服务: 每个模块都可以使用不同的开发技术 , 开发模式更灵活

相关文章
|
9月前
|
机器学习/深度学习 自然语言处理 搜索推荐
《让机器人读懂你的心:情感分析技术融合奥秘》
情感分析技术正赋予机器人理解人类情绪的能力,使其从冰冷的工具转变为贴心伙伴。通过语音、面部表情和文本等多模态信息,机器人可精准识别情绪并做出相应反应。然而,多模态数据融合、个性化情感理解及自然情感表达仍是技术难点。一旦突破,机器人将在医疗、教育和养老等领域大放异彩,成为患者助手、个性化教师和老人陪伴者,开启人机交互新纪元。这不仅是一次技术飞跃,更是机器人迈向情感世界的深刻变革。
641 0
|
SQL Java 关系型数据库
MyBatis-Plus 分页魅力绽放!紧跟技术热点,带你领略数据分页的高效与便捷
【8月更文挑战第29天】在 Java 开发中,数据处理至关重要,尤其在大量数据查询与展示时,分页功能尤为重要。MyBatis-Plus 作为一款强大的持久层框架,提供了便捷高效的分页解决方案。通过封装数据库分页查询语句,开发者能轻松实现分页功能。在实际应用中,只需创建 `Page` 对象并设置页码和每页条数,再通过 `QueryWrapper` 构建查询条件,调用 `selectPage` 方法即可完成分页查询。MyBatis-Plus 不仅生成分页 SQL 语句,还自动处理参数合法性检查,并支持条件查询和排序等功能,极大地提升了系统性能和稳定性。
496 0
|
域名解析 网络协议 数据库
|
存储 Web App开发 前端开发
5分钟站点生成神器——Docusaurus
Docusaurus 是 Facebook 专门为开源项目开发者提供的一款易于维护的静态网站创建工具,使用 Markdown 即可更新网站。构建一个带有主页、文档、API、帮助以及博客页面的静态网站,只需5分钟。
2528 0
5分钟站点生成神器——Docusaurus
|
机器学习/深度学习 安全 大数据
互联网平台黑产解密(下)
互联网平台黑产解密(下)
799 0
互联网平台黑产解密(下)
|
存储 缓存 监控
|
机器学习/深度学习 城市大脑 人工智能
战略地图|阡陌交通,数字之用
六年的发展,阿里云从关注交通单一关键环节开始,到思考如何应对大交通治理方、运营方、服务方的现实挑战,围绕交通“规、建、管、养、运、服”进行体系化建设,利用平台化技术综合优化交通资源。这是阿里云交通部门自身发展和转型的历程,也是阿里云与交通行业一起极速奔向全局智能的历程。
894 0
战略地图|阡陌交通,数字之用
|
存储 消息中间件 缓存
Redis主从复制&Redis哨兵机制&Springboot整合哨兵
Redis主从复制&Redis哨兵机制&Springboot整合哨兵
662 0
Redis主从复制&Redis哨兵机制&Springboot整合哨兵
|
算法 Java
阿猫阿狗都能看懂的银行家算法
说起银行家算法,实际上是自己本科计算机操作系统的1个课程设计。由于在项目中用到相关的内容,因此便简单进行下回顾。 在并发编程中,当多个进程或线程对某个不可抢占资源进行争夺时会引起死锁的问题,而使用银行家算法主要的目的是为了避免系统产生死锁,对于死锁我们可以将其理解为坏账。
阿猫阿狗都能看懂的银行家算法
|
Java API
开发这么久了,你会使用文档注释吗?Java 文档注释详解
开发这么久了,你会使用文档注释吗?Java 文档注释详解
583 0
开发这么久了,你会使用文档注释吗?Java 文档注释详解

热门文章

最新文章