intext:企业

宏观问题的微观解决方法?

微服务的炒作无处不在,尽管业界似乎无法就确切的定义达成共识,但我们一再被告知,从单一应用程序转向由小型服务组成的面向服务的体系结构(SOA)是正确的方法。构建和发展软件系统。 但是,目前没有传统的“企业”组织谈论采用微服务。 这篇博客文章是对较大文章的预览,该文章探讨了企业中微服务的使用。

界面–良好的合同造就了好邻居

无论您是开始新建的微服务项目,还是要负责将现有的整体结构分解为服务,首要任务是定义新组件的边界和相应的应用程序编程接口(API)。

与使用传统的面向企业服务的体系结构(SOA)方法通常实现的服务相比,微服务体系结构中建议的服务粒度要更好,但是可以说SOA的初衷是创建可重用业务功能的内聚单元,甚至如果实施历史讲述了一个不同的故事。

新建的微服务项目通常具有更大的灵活性,并且初始设计阶段可以使用服务提供者和使用者之间的明确责任和合同(例如,使用使用者驱动的合同 )来定义域驱动设计(DDD )启发的受限上下文。

但是,典型的棕地项目必须寻求在现有应用程序中创建“ 接缝 ”,并实现与接缝接口集成的新(或提取)服务。 目标是使每个服务具有高凝聚力和松散耦合; 服务接口的设计是这些原则的种子。

通信–同步与异步

实际上,我们发现许多企业将需要在其服务中同时提供同步和异步通信。 值得注意的是,尽管这些框架所解决的许多挑战仍然存在,但行业内仍有相当大的动力要摆脱公认的“重量级” WS- *通信标准(例如WSDL,SOAP,UDDI)。服务发现,服务描述和合同协商(如Greg Young在muCon微服务会议上的最新演讲中非常简洁地阐述 )。

中间件–传统企业如何应对?

尽管许多重量级的Enterprise Service Bus ESB可以执行一些非常巧妙的路由,但它们经常被部署为黑匣子。 吉姆·韦伯(Jim Webber)曾开玩笑说ESB应该代表“ Egregious Spaghetti Box”,因为在专有ESB中执行的操作并不透明,而且通常很复杂。

如果要求指示使用ESB(例如,消息拆分或基于策略的路由),则应考虑使用开源轻量级ESB实现(例如Mule ESB或Fuse ESB) 。

我通常发现轻量级的MQ平台(例如RabbitMQ或ActiveMQ )更适合,因为我们认为SOA通信的当前趋势是朝着“ 哑管道和智能端点 ”迈进,除了消除潜在的供应商费用和锁定之外,它的其他好处使用轻量级的MQ技术可以简化部署,管理和简化测试。

部署微服务–有多难?

无论您选择构建微服务,使用连续集成样式的构建管道都是至关重要的,该管道包括针对功能需求,容错,安全性和性能的严格自动化测试。 可以说,手动质量保证和分阶段评估的经典SOA方法不再适用于“ 速度取胜 ”且快速创新和试验的能力是竞争优势的经济(如精益创业运动所体现的那样)。

您的应用程序的行为可能会在基于微服务的平台中浮现出来,尽管没有什么可以替代对您的生产堆栈中进行全面而普遍的监视,但是在您的组件暴露给客户之前先进行锻炼(或折磨 )的构建管道似乎是高度有益。 正如我在几次会议演示中所讨论的那样 ,一个好的构建管道应尽可能早地在目标部署环境中行使服务。

摘要– API,轻量级的comms和正确的部署

无论您是否订阅了微服务的炒作,这种架构风格似乎在所有软件开发领域中都越来越受欢迎。 本文试图为理解这个不断增长的空间中的关键概念提供入门知识,并希望提醒读者,经典企业SOA之前已经见过许多这样的问题和解决方案。 我们明智的做法是不要重新发明众所周知的“面向服务”的方向盘。

请单击此处,以获取完整的原始文章 ,该文章提供了有关JVM平台上微服务实现选项的更多信息,并讨论了持续交付的要求。 本文的一个版本最初发布在DZone 2014 Enterprise Integration Guide中 。

参考资料

完整的参考文献列表和推荐阅读的内容也可以在原始文章和最近讨论微服务业务含义的文章中找到。

翻译自: https://www.javacodegeeks.com/2015/01/microservices-in-the-enterprise-friend-or-foe.html

intext:企业

intext:企业_企业中的微服务:敌是友?相关推荐

  1. 微服务 松耦合_超值干货:微服务架构下如何解耦,对于已经紧耦合下如何重构?...

    今天准备谈下微服务架构下各个微服务间如何解耦,以及对于已经紧耦合的微服务如何进行重构.要明白实际上微服务后续出现的诸多问题往往都是一开始微服务模块划分就不合理导致,对于具体的模块划分方法和原则,我总结 ...

  2. 基于实战开发垂直搜索引擎_基于DDD的微服务设计和开发实战

    作者:欧创新.邓頔.文艺 你是否还在为微服务应该拆多小而争论不休?到底如何才能设计出收放自如的微服务?怎样才能保证业务领域模型与代码模型的一致性?或许本文能帮你找到答案. 本文是基于 DDD 的微服务 ...

  3. ddd 访问权限_基于DDD的微服务设计和开发实战

    作者:欧创新.邓頔.文艺 你是否还在为微服务应该拆多小而争论不休?到底如何才能设计出收放自如的微服务?怎样才能保证业务领域模型与代码模型的一致性?或许本文能帮你找到答案. 本文是基于 DDD 的微服务 ...

  4. docker 保存 环境持久化_为什么 Docker 适合微服务架构?

    ContainerDevOps时代 微服务架构日益成熟,不但得到了初创公司和创新型公司的认可,一些传统企业也在逐步接受微服务架构.我们仍然在学习如何利用其在扩展性,易于维护和构建等方面的优势.当然我们 ...

  5. 微服务开发及部署_基于 Kubernetes 的微服务部署即代码

    在基于 Kubernetes 的基础设施即代码一文中,我概要地介绍了基于 Kubernetes 的 .NET Core 微服务和 CI/CD 动手实践工作坊使用的基础设施是如何使用代码描述的,以及它的 ...

  6. 迭代开发中的微服务拆分

    微服务拆分是微服务架构绕不过的话题,随着架构演进,在迭代开发中拆分微服务有时非常必要,微服务拆分不仅仅是一项技术层面的重构,首先要选择的合适的时机,另外在拆分前一定要理清业务现状,制定好拆分的基本原则 ...

  7. python 微服务架构实战_名师讲坛——Java微服务架构实战(SpringBoot+SpringCloud+Docker+RabbitMQ)...

    内容简介 作者简介 前言 第一部分 SpringBoot篇 第1章 SpringBoot编程起步 1.1 传统开发中痛的领悟 1.2 SpringBoot简介 1.3 SpringBoot编程起步 1 ...

  8. 微服务架构_企业中的微服务:敌是友?

    微服务架构 宏观问题的微观解决方法? 微服务的炒作无处不在,尽管业界似乎无法就确切的定义达成共识,但我们一再被告知,从单一应用程序转向由小型服务组成的面向服务的体系结构(SOA)是正确的方法.构建和发 ...

  9. 企业中的微服务:敌是友?

    宏观问题的微观解决方法? 微服务的炒作无处不在,尽管业界似乎无法就确切的定义达成共识,但我们一再被告知,从单一应用程序转向由小型服务组成的面向服务的架构(SOA)是正确的方法.构建和发展软件系统. 但 ...

最新文章

  1. Saltstack系列之一——安装篇
  2. Android 架构组件 - 让天下没有难做的 App
  3. 一流人才在军界和商界,二流人才在政界,三流人才在学术界;男孩子,可以什么都不会,但是必须会挣钱...
  4. 对话农民丰收节交易会-农业大健康·弘本农业:功能农业扶贫
  5. 殷浩详解DDD:领域层设计规范
  6. BZOJ 1228: [SDOI2009]ED(SG定理)
  7. 修改SR4000自带软件,支持opencv
  8. jfinal html页面在多个路径,jfinal不能正确加载html网页,总是报错的解决方法
  9. 四大利器帮你走出IT运维管理的困境
  10. 罗盘时钟制作代码_抖音超火的姓氏罗盘壁纸,安卓和苹果都能做
  11. worldcloud库的使用
  12. 微软打碎了周鸿祎的如意算盘
  13. java 文件读取大全
  14. 机器人学导论,课后习题答案。
  15. 前端等值线分析DEMO(更新地址)
  16. 论文笔记 Inverting Visual Representations with Convolutional Networks
  17. U8C报表模板已设置,任务已分配仍无法查看报表数据
  18. Python的优点和缺点
  19. 微商分销系统哪家好,要怎么做?
  20. 骁龙888发布,小米11首发,有14家厂商首批搭载!

热门文章

  1. HDU6736 F.Forest Program(dfs找环)
  2. 【LCT】弹飞绵羊(luogu 3203/金牌导航 LCT-2)
  3. 糊涂的教授(2015特长生 T3)
  4. 曼哈顿距离与切比雪夫距离的转化及prufer序列
  5. Hadoop入门(十一)Mapreduce的InputFomrat各种子类
  6. Spring Cloud 升级最新 Finchley 版本,踩了所有的坑
  7. 你还在Java8中使用循环语句吗?
  8. javaweb项目搭建ehcache缓存系统
  9. Java通过Class的对象来获取泛型的class示例
  10. 子类可以继承到父类上的注解吗