欢迎访问云创建站汽车模板网站建设平台

专业的汽车配件网站建设服务

从业10年只为品牌网站建设

联系方式 联系方式:

19177286696

Java大型互联网构建微服务架构技术设计-Dubbo之微服务架构部署

作者:jcmp      发布时间:2021-05-01      浏览量:0
引言微服务涵盖了微信管家、微信应用解决方

引言

微服务涵盖了微信管家、微信应用解决方案、微信客服客户端、人工微信客服几部分。

架构技 术选型与设计-DUBBO

Dubbo,是阿里巴巴服务化治理的核心框架,并被广泛应用于阿里巴巴集团的各成员站点(阿里巴巴现在使用架构为HSF)。 于2012-10-24最后版本2.5.3成为最后一版本,由当当接手维护,命名为dubbox;2017年突然继续dubbo进行维护,最后更新版本时间为 2017-10-11 22:21。

Provider: 暴露服务的提供方。

Consumer:调用远程服务的服务消费方。

Registry: 服务注册中心和发现中心。

Monitor: 统计服务和调用次数,调用时间监控中心。(dubbo的控制台页面中可以显示)。

Container:服务运行的容器。

Dubbo服务集群-集群容错模式

架构技术选型与设计-微服务选型

架构技术选型与设计-DUBBO

架构技术选型与设计-DUBBO

单主机部署多服务实例

该模式下,需要多台物理机或虚拟机,在每个主机上部署多个服务实例。这是比较传统的部署方法。每个服务实例运行在一至多台主机的端口上,主机通常像照看宠物一样来管理这些服务。如下图所示:

这一模式有几个变型。其中之一就是每个服务对应一个或一组进程。例如:在 Apache Tomcat 服务器上部署 Java 服务实例作为 web 应用,一个 Node.js 服务实例可能包含一个父进程或一至多个子进程。

另一个变型是在一个进程或进程组中运行多个服务实例。例如:在同一台 Apache Tomcat 服务器中部署多个 Java web 应用,或者在一个 OSGI 容器中运行多个 OSGI 组件。

单主机多服务部署的优点:

1)资源利用率高,多个服务实例共享服务器及操作系统。如果一个进程或进程组运行多个服务实例的话,效率就更高了,比如多个web应用共享同一台 Apache Tomcat 服务器和 JVM。

2)部署服务实例快,只需将服务拷贝到主机并启动。如果服务是 Java 编写的,复制 JAR包 或者 WAR 包;如果是 Node.js 或者 Ruby 等其它语言,拷贝源代码即可。通过网络复制这些字节数还是比较小的。

3)由于没有太多开销,启动服务通常很快。如果服务实例运行在同一容器的进程或进程组,可以动态部署到容器或使用重启容器的方式启动服务。

不足在于:

1)服务实例之间没有隔离。虽然可以准确监控每个服务实例的资源使用情况,但是并不能限制每个实例使用的资源,很有可能一个异常的服务实例会消耗掉主机的所有内存和 CPU资源。

2)同一进程运行多个服务实例根本没有隔离性,所有服务实例共享一个 JVM 堆。一个异常的服务实例能够轻易的破坏运行在同一进程中的其它服务实例。此外,也无法监控每个服务资源使用的情况。

3)对运维团队来讲,需要了解部署服务的具体细节。服务可能用不同的语言和框架写成,因而开发团队必须分享给运维团队大量的细节。这种复杂性增加了部署中出错的风险。

一、总结

最后,每一位读到这里的网友,感谢你们能耐心地看完。希望在成为一名更优秀的Java程序员的道路上,我们可以一起学习、一起进步!都能赢取白富美,走向架构师的人生巅峰!

想了解学习Java方面的技术内容以及Java技术视频的内容可加群:722040762 验证码:简书(666 必过)欢迎大家的加入哟!