zookeeper的安装和集群搭建 Dubbo框架的开发流程是怎么样的?
Dubbo框架的开发流程是怎么样的?
杜博建筑简介
Dubbo经常被拿来和SpringCloud微服务架构相提并论,但实际上,他们关注的领域是非常不同的。Dubbo专注于服务治理,即服务注册和更新、管理服务生命周期、定制服务遵从规则、确保服务一致性、服务监控和服务调用。而SpringCloud则专注于整个微服务生态,对服务网关、分布式配置、服务跟踪、消息总线、数据流、批量任务等都有很好的技术规范。可以看出,Dubbo可以作为SpringCloud生态系统的一部分与SpringCloud集成,提供服务治理支持。虽然功能没有SpringCloud的整个生态完善,但是在服务治理方面,Dubbo有很多优势:
1.支持更多协议,如rmi、hessian、http、webservic:
1.远程通信,它提供了基于长连接的各种NIO框架的抽象封装,包括各种线程模型、序列化和 "请求-响应 "信息交换。
2.集群容错,提供基于接口方法的透明远程过程调用,包括多协议支持,以及软负载均衡、故障容错、地址路由、动态配置等集群支持。
3.自动发现,基于注册中心的目录服务,使服务消费者动态找到服务提供者,使地址透明,使服务提供者平滑增减机器。
Dubbo架构如下图所示:
从上图可以看出,Dubbo的服务调用过程如下:
1.服务提供者在服务注册中心发布并注册自己,以公开服务。
2.服务消费者从服务注册中心订阅服务。
3.服务消费者根据注册中心获得的服务进行远程呼叫。
杜博当地发展环境的建设
对于Duoobo服务注册中心的建设,我们将使用Zookeeper作为实际的注册中心进行操作演练。
杜博项目建设
使用eclipse为服务提供商创建一个新的maven项目。这里创建了一个名为dubbo-provider的新项目,以提供一个根据用户名返回用户信息的简单示例:
1.首先介绍Dubbo和Zookeeper的依赖包。
创建一个新的服务提供者接口和一个具体的实现类,在eclipse下创建一个名为dubbo-provider的maven项目。
1.创建用户信息查询服务接口QueryUserInfoService,提供根据用户名返回的用户信。信息接口getUserInfo(字符串名)。
2.创建一个具体的实现类QueryUserInfoServiceImpl,根据用户名返回一串用户信息。
3.在resources文件夹中创建applicationProvider.xml配置服务类的相关信息,以注册和公开服务。
4.创建服务注册类:ServerMain读取配置文件,在配置文件中注册服务,配置完成后启动类完成服务注册。
配置监控中心。如果我们需要监视和查看我们自己的服务,我们需要安装Monitor服务。1.在Github上下载dubbo-admin项目后修改目录中的文件:
1)配置zk地址:
2)配置登录用户的root密码:
2.在dubbo-admin目录下构建项目。
用maven命令打包:mvn clean package
3.通过以下两种运行dubbo-admin项目:
1)mvn-projects dubbo-admin-s:8080进入监控后台页面。
新的服务消费者项目实现了服务提供者的服务消费,在eclipse下创建了名为dubbo-customer的maven项目。
1.引入或创建服务接口QueryUserInfoService类。
2.在resources文件夹中创建applicationContext.xml配置注册表信息以获取服务信息。
3.创建一个消费者测试类QueryUserInfoServic
zook集群主要由?
Zookeeper有三种部署模式:单机模式、伪集群模式和集群模式。这三种模式用于不同的场景:
1.单机部署:一般用于测试Zookeeper的基本功能,熟悉Zookeeper的各种基本操作和特点。
2.伪集群部署:将集群部署在单机上,便于在本地验证集群模式下的各种功能。
3.集群部署:一般用于生产环境,具有一致性和分区容错性。
版权声明:本文内容由互联网用户自发贡献,本站不承担相关法律责任.如有侵权/违法内容,本站将立刻删除。