现在很多人都在说微服务,老板想做这方面的,但是了解过后发现还有个传统的和微服务的区别,想具体了解下,有能解惑的吗
1条回答 默认 最新
- 冰思雨 2021-11-09 11:17关注
我觉得 小公司,小团队,还是别搞这些了。
ESB,SOA,微服务,这些东西,都是那些大公司,大的技术团体用来吹牛逼用的。
如果一个技术型的公司,技术团队的人数达到几十人了,可以采用ESB的理念来进行后续的集成开发;达到几百人可以采用SOA和微服务的理念。ESB(企业服务总线)强调的是一个集成概念,将企业用到的所有功能都集成到一起。
比如:- 考勤,办公流程,系统公告这三个系统独立开发,都有自己的账户管理,
采用ESB之后,就会有一个员工的账户中心,完成单点登录,方便用户使用。 - 企业内的所有服务都可以通过ESB进行联动,如果行政那边一个员工离职了,OA开启流程,通过ESB,财务可以结账,考勤可以锁定账户,门禁失效,Wifi无法入网。
- 当然,对于互联网类型的公司,ESB的一部分功能是对外开放的,大多是为了方便运维。
谈谈我的理解:
- ESB的主要还是用来针对企业内部,那时候互联网企业很少,也很少提架构理念什么的。还是大型企业内部的系统软件需要架构理念。
- 后来互联网公司兴起,出现了事业部和子公司,觉得对外提供服务需要一个架构理念了,就提出了SOA(面向服务的架构),每个服务都单独运维,具备各自的伸缩性,开发的时候,把思想搞清楚,我们是为了提供服务而开发的,比如某个游戏,如果服务的利润价值不大,那就下线,不影响其他服务。
- 微服务是在SOA基础上发展出来的一种理念,就是说,每一个功能都具备一定的服务能力提供给外部,但是,每个微服务又在一个容器或者说基础功能平台中生存。因为SOA中有些服务必须存在但又不直接创造价值,比如账户中心,消息队列等。
微服务需要一个具备规模的运维团队,而且,主要是互联网公司才使用微服务。
- 首先,你要搭建一些基础服务,比如:负载均衡,账户管理,消息队列,RPC,部署发布,代码管理,测试,缓存,数据仓库,监控,日志分析等等,这些都是分布式的服务,具备伸缩性。
- 有了这些基础服务之后,才是微服务的开发,企业每需要一个服务提供给用户,就立项开发一个微服务进去,由于基础服务已经搭建,新的微服务直接使用基础服务就行,不必重复造轮子。
- 运维团队集中所有服务,每个微服务是运维和开发共同维护,但是,主要还是运维在保障。
- 由于所有的微服务都是分布式的,具有伸缩性,所以,在用户爆发性增长和减少时,可以动态调节和优化,其中,自动化运维要自主研发,现有的软件系统太扯了。
解决 无用评论 打赏 举报 - 考勤,办公流程,系统公告这三个系统独立开发,都有自己的账户管理,
悬赏问题
- ¥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 无法解析的外部符号