内容简介:这次主要是对dubbo 和zookeeper的配置做个记录,以便以后自己忘记了,或者踩的坑再次被踩zookeerer类似 springcloud中的Eureka都做为注册中心,用srpingboot建立三个项目生产者,消费者,公共接口,引用阿里的dubbo做为rpc框架, 生产者负责实现接口的业务逻辑 并且在zookeeper注册中心中注册,同是消费者也连接zookeeper注册中心进行消息调用 。优点:
这次主要是对dubbo 和zookeeper的配置做个记录,以便以后自己忘记了,或者踩的坑再次被踩
快速阅读
zookeerer类似 springcloud中的Eureka都做为注册中心,用srpingboot建立三个项目生产者,消费者,公共接口,引用阿里的dubbo做为rpc框架, 生产者负责实现接口的业务逻辑 并且在zookeeper注册中心中注册,同是消费者也连接zookeeper注册中心进行消息调用 。
优点:
做为分布式服务架构,将核心业务抽取出来,稳定服务器,同时扩展方便 。可以针对高并发数据进行快速合理的扩展和监控。提高集群的利用率
zookeeper的配置
创建spring boot项目进行连接zookeeper
- 用Ideal创建一个maven项目 ,在项目里添加三个module
这三个项目分别是生产者dubboprovider 消费者dubboconsumer 接口duoboapi
创建一个maven的项目
输入项目名字
下一步
进入项目界面
新建provider module
同样的方法 创建其它两个module,结果如下所示三个module创建完毕
- 配置主项目 pom.xml
引用三个主要的依赖,
dubbo-spring-boot-starter: 在spring容器中注入特定bean ,集成了dubbo和spring boot
zookeeper:zookeeper的依赖
zkclient:zookeeper的客户端依赖
<dependencies> <dependency> <groupId>com.alibaba.spring.boot</groupId> <artifactId>dubbo-spring-boot-starter</artifactId> <version>1.0.2</version> </dependency> <dependency> <groupId>org.apache.zookeeper</groupId> <artifactId>zookeeper</artifactId> <version>3.4.13</version> </dependency> <dependency> <groupId>com.101tec</groupId> <artifactId>zkclient</artifactId> <version>0.10</version> </dependency> </dependencies>
- 定义接口
在dubboapi 模块中 java 下,新建一个类com.hcb.Service.IHelloService
package com.hcb.Service; public interface IHelloService { String SayHello(String name); }
- 实现 生产者模块
在该模块的pom.xml引用接口
<groupId>com.hcb</groupId> <artifactId>dubboprovider</artifactId> <dependencies> <dependency> <groupId>com.hcb</groupId> <artifactId>dubboapi</artifactId> <version>1.0-SNAPSHOT</version> </dependency> </dependencies>
新建main入口方法
引用@SpringBootApplication,@EnableDubboConfiguration 注解
- @SpringBootApplication 整合了三个注解。(默认属性)@Configuration + @EnableAutoConfiguration + @ComponentScan
- @Configuration 是和@Bean 把实体model翻译成了xml的配置文件 ,使配置更简单
- @EnableAutoConfiguration 能够自动配置spring的上下文,试图猜测和配置你想要的bean类,通常会自动根据你的类路径和你的bean定义自动配置。
- @ComponentScan 会自动扫描指定包下的全部标有@Component的类,并注册成bean,当然包括@Component下的子注解@Service,@Repository,@Controller。
- @EnableDubboConfiguration, 表示要开启dubbo功能.
参考: https://www.cnblogs.com/MaxElephant/p/8108140.html
package com.hcb; import com.alibaba.dubbo.spring.boot.annotation.EnableDubboConfiguration; import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.SpringBootApplication; import java.util.concurrent.CountDownLatch; @SpringBootApplication @EnableDubboConfiguration public class provider { public static void main(String[] args) throws InterruptedException { SpringApplication.run(provider.class,args); new CountDownLatch(1).await(); } }
定义一个类com.hcb.Service.HelloService 来实现 接口
@Service注解,将自动注册到Spring容器,不需要再定义bean了
@component (把普通pojo实例化到spring容器中,相当于配置文件中的
<bean id="" class=""/>)
泛指各种组件,就是说当我们的类不属于各种归类的时候(不属于@Controller、@Services等的时候),
package com.hcb.Service; import com.alibaba.dubbo.config.annotation.Service; import org.springframework.stereotype.Component; @Service @Component public class HelloSevice implements IHelloService { public String SayHello(String name){ return "hi "+name; } }
resoruces中新建application.properties配置 文件
指定名字并给出要注册的zookeepr的地址
spring.dubbo.appname=dubboprovider spring.dubbo.registry=zookeeper://192.168.159.131:2181
启动
在provider类中在击main方法所在的类,然后选择run
程序正常启动不报错
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持 码农网
猜你喜欢:- tcp 长连接与短连接
- 没有 HTTP 连接池,空谈什么持久连接
- Linux中软连接和硬连接的区别
- sql – 哪个更好..左外连接还是右外连接?
- 连接池中的连接失效的几种处理方案
- 解决golang使用elastic连接elasticsearch时自动转换连接地址
本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们。
响应式Web设计
本·弗莱恩 (Ben Frain) / 奇舞团 / 人民邮电出版社 / 2017-2-1 / CNY 59.00
本书将当前Web 设计中热门的响应式设计技术与HTML5 和CSS3 结合起来,为读者全面深入地讲解了针对各种屏幕大小设计和开发现代网站的各种技术。书中不仅讨论了媒体查询、弹性布局、响应式图片,更将最新和最有用的HTML5 和CSS3 技术一并讲解,是学习最新Web 设计技术不可多得的佳作。一起来看看 《响应式Web设计》 这本书的介绍吧!