m0_60864661 2021-11-09 10:38 采纳率: 66.7%
浏览 15

传统的ESB和现在的微服务的有什么区别?

现在很多人都在说微服务,老板想做这方面的,但是了解过后发现还有个传统的和微服务的区别,想具体了解下,有能解惑的吗

  • 写回答

1条回答 默认 最新

  • 冰思雨 2021-11-09 11:17
    关注

    我觉得 小公司,小团队,还是别搞这些了。
    ESB,SOA,微服务,这些东西,都是那些大公司,大的技术团体用来吹牛逼用的。
    如果一个技术型的公司,技术团队的人数达到几十人了,可以采用ESB的理念来进行后续的集成开发;达到几百人可以采用SOA和微服务的理念。

    ESB(企业服务总线)强调的是一个集成概念,将企业用到的所有功能都集成到一起。
    比如:

    • 考勤,办公流程,系统公告这三个系统独立开发,都有自己的账户管理,
      采用ESB之后,就会有一个员工的账户中心,完成单点登录,方便用户使用。
    • 企业内的所有服务都可以通过ESB进行联动,如果行政那边一个员工离职了,OA开启流程,通过ESB,财务可以结账,考勤可以锁定账户,门禁失效,Wifi无法入网。
    • 当然,对于互联网类型的公司,ESB的一部分功能是对外开放的,大多是为了方便运维。

    谈谈我的理解:

    1. ESB的主要还是用来针对企业内部,那时候互联网企业很少,也很少提架构理念什么的。还是大型企业内部的系统软件需要架构理念。
    2. 后来互联网公司兴起,出现了事业部和子公司,觉得对外提供服务需要一个架构理念了,就提出了SOA(面向服务的架构),每个服务都单独运维,具备各自的伸缩性,开发的时候,把思想搞清楚,我们是为了提供服务而开发的,比如某个游戏,如果服务的利润价值不大,那就下线,不影响其他服务。
    3. 微服务是在SOA基础上发展出来的一种理念,就是说,每一个功能都具备一定的服务能力提供给外部,但是,每个微服务又在一个容器或者说基础功能平台中生存。因为SOA中有些服务必须存在但又不直接创造价值,比如账户中心,消息队列等。

    微服务需要一个具备规模的运维团队,而且,主要是互联网公司才使用微服务。

    • 首先,你要搭建一些基础服务,比如:负载均衡,账户管理,消息队列,RPC,部署发布,代码管理,测试,缓存,数据仓库,监控,日志分析等等,这些都是分布式的服务,具备伸缩性。
    • 有了这些基础服务之后,才是微服务的开发,企业每需要一个服务提供给用户,就立项开发一个微服务进去,由于基础服务已经搭建,新的微服务直接使用基础服务就行,不必重复造轮子。
    • 运维团队集中所有服务,每个微服务是运维和开发共同维护,但是,主要还是运维在保障。
    • 由于所有的微服务都是分布式的,具有伸缩性,所以,在用户爆发性增长和减少时,可以动态调节和优化,其中,自动化运维要自主研发,现有的软件系统太扯了。
    评论

报告相同问题?

问题事件

  • 创建了问题 11月9日

悬赏问题

  • ¥15 聚类分析或者python进行数据分析
  • ¥15 逻辑谓词和消解原理的运用
  • ¥15 三菱伺服电机按启动按钮有使能但不动作
  • ¥15 js,页面2返回页面1时定位进入的设备
  • ¥50 导入文件到网吧的电脑并且在重启之后不会被恢复
  • ¥15 (希望可以解决问题)ma和mb文件无法正常打开,打开后是空白,但是有正常内存占用,但可以在打开Maya应用程序后打开场景ma和mb格式。
  • ¥20 ML307A在使用AT命令连接EMQX平台的MQTT时被拒绝
  • ¥20 腾讯企业邮箱邮件可以恢复么
  • ¥15 有人知道怎么将自己的迁移策略布到edgecloudsim上使用吗?
  • ¥15 错误 LNK2001 无法解析的外部符号