java架构师培训-微服务架构和 SOA架构有哪些不同

69 篇文章 0 订阅
43 篇文章 0 订阅

微服务也是一种服务化,不过其和SOA架构的服务化概念也是有区别的,可以从以下几个关键字来理解:

java架构师培训

松耦合:每个微服务内部都可以使用DDD(领域驱动设计)的思想进行设计领域模型,服务间尽量减少同步的调用,多使用消息的方式让服务间的领域事件来进行解耦。

轻量级协议:Dubbo是SOA的开源标准实现之一,类似于gRPC,Thrift等。微服务更倾向于使用Restful风格的API。轻量级协议可以很好地支持跨语言开发服务。某些微服务可能是用Java语言实现的,有些是Go语言的,有些是C的,但是所有的所有语言都可以支持Http协议通信,并且所有开发人员都可以理解Restful风格API的含义。

高度自治和持续集成:从低层次的角度来看,SOA更倾向于基于虚拟机或服务器的部署。每个应用程序都部署在不同的计算机上。通常,持续集成工具是由运维团队编写的。根据共同协议编写脚本并提供开发和部署页面(例如Dubbo管理页面)。

微服务可以很好得和容器技术结合,容器技术比微服务出现得晚,但是容器技术的出现让微服务的实施更加简便,目前Docker已经成为很多微服务实践的基础容器。

因为容器的特色,所以一台机器上可以部署几十个、几百个不同的微服务。如果某个微服务流量压力比其他微服务大,可以在不增加机器的情况下,在一台机器上多分配一些该微服务的容器实例。

同时,由于Docker容器编排社区变得越来越成熟,像Mesos,Kubernetes和Docker这样的Swarm正式提供Swarm作为持续集成部署的技术选择。

实际上,从体系结构的演变的角度来看,总体发展是朝着越来越轻巧和灵活的应用程序发展,甚至是在过去两年中已经成熟的无服务器(无服务)体系结构。

从单体服务到分层的服务,再到面向服务、再到微服务甚至无服务,对于架构的挑战是越来越大。

推荐阅读:【鲁班学院】微服务架构设计分类

如果你想了解更多关于java架构师的专业知识,可以加入JAVA架构师交流群:1160405674,里面都是同行,有资源分享包括但不限于(分布式架构、高可扩展、高性能、高并 发、Jvm性能调优、Spring,MyBatis,Nginx源码分析,Redis,ActiveMQ、Mycat、Netty、Kafka、Mysql 、Zookeeper、Tomcat、Docker、Dubbo、Nginx)。欢迎一到五年的工程师加入,合理利用自己每一分每一秒的时间来学习提升自己,不要再用"没有时间“来掩饰自己思想上的懒惰!趁年轻,使劲拼,给未来的自己一个交代!

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值