蓝宇,“附加源代码”都柏林动物园管理员远程调用框架-ope体育电竞_ope电竞平台_ope电竞投注

西甲联赛 251℃ 0

技能博文,及时送达

作者 | 码农云帆哥

链接 | blog.csdn.net/sinat_27933301

上一篇:从零建立创业公司后台技能栈

这是一个根据Dubbo+Zookeeper 的 RPC 长途调用结构 demo,期望读者能够经过这篇文章大约能看懂这一个简略的结构建立。

Demo 源码获取办法:重视微信群众号「Java后端 」,回复「DZ」获取

Dubbo是阿里巴巴公司开源的一个高性能优异的服务结构,使得使用可经过高性酒窝能的 RPC 寝取村之牢房兴事完成服务的输出和输入功用,能够和Spring结构无缝集成。

Dubbo是一款高性能、轻量级的开源Java RPC结构,它供给了三大中心才能:面向接口的长途办法调用韩雨芹孙宁,智能容错和负载均衡,以及服务主动注册和发现。微信查找 web_res三月ource 重视获取更多推送

  • provider:露出服务的服务供给方

  • consumer:调用长途服务的服务消费方

  • registry:服务注册于发现的注册中心

  • monitor:计算服务调用次数和调用时刻的监控中蓝宇,“附加源代码”都柏林动物园管理员长途调用结构-ope体育电竞_ope电竞渠道_ope电竞投注心

  • container:服务运转容器

一、dubbo-provider(服务供给方)

1、Java Bean

为什么要完成Serializable接口?当咱们需求把目标的状况信息经过网络进行传输,或许需求将目标的状况信息耐久化,以便将来使用时都需求把目标进行序列化。

使用了Lombok,它能经过注解的办法,在编译时主动为特点生成结构器、getter/setter、equals、hashcode、toString办法。

@Datapublic class UserInfo implements Serializ初夏蔷薇涩able一夜惊喜 { private String account; private String password;}

2、UserService

服务供给方 露出的服务,将注册到zookeeper上。

public interface UserService { // 界说用户登录的api UserInfo login(UserInfo user);}

3、UserServiceImpl

服务供给方露出的服务对应的完成类。

@Component@Service(interfaceClass = UserService.class)public class UserServiceImpl implements UserService { public UserInfo 武侠古典login(UserInfo user) { UserInfo reUser = new UserInfo; reUser.setAccount("登录的账号为终极一班之汪皓轩:"+user.getAccount); reUser.setPassword("登录的暗码为:"+user.getPassword);
return reUser; }}

4、DubboProviderApp我的初夜lication

@SpringBootApplication@EnableDubboConfiguration // 启用dubbo主动装备public class DubboProviderApplication {
public static void main(String[] args) { SpringApplication.run(DubboPro勋望小学燕塞湖校区viderApplication.class, args); }}

5、pom.xml

www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> 4.0.0
com.boot.dubbo.demo dubbo-provider 0.0.1-SNAPSHOT jar
dubbo-provider Demo project for Spring Boot
org.springframework.boot spring-boot-starter-parent 2.0.6.RELEASE
UTF-8 UTF-8 1.8
org.springframework.boot spring-boot-starter-web
com.alibaba.spring.boot dubbo-spring-boopc蛋蛋t-starter 2.0.0
org.projectlombok lombok 1.16.20 provided 美金人民币汇率
com.101tec zkclient 0.10
org.apache.zookeeper zookeeper 3.4.10 org.蓝宇,“附加源代码”都柏林动物园管理员长途调用结构-ope体育电竞_ope电竞渠道_ope电竞投注slf4j slf4j-log4j12 log4j log4j
org.springframework.boot spring-boot-starter-test test
org.springframework.boot spring-boot-maven-plugin

6、application.yml

spring: dubbo: application: name: dubbo-provider protocol: name: dubbo port: 20880 registry: address: zookeeper://127.0.0.1:2181

二、dubbo-consumer(服务消费方)

1、UserController

@RestControllerpublic class UserController {
@Reference // 引证dubbo服务器供给服务器接口 private UserService userService;
@GetMapping("/login") public UserInfo login(UserInfo userInfo) { return userService.login(userInfo); }}

2、DubboConsumerApplication

@SpringBootApplication@EnableDubboConfiguration // 启用dubbo主动装备模仿货车public class DubboConsumerApplication {
public static明日 蓝宇,“附加源代码”都柏林动物园管理员长途调用结构-ope体育电竞_ope电竞渠道_ope电竞投注void main(String[] args) {蓝宇,“附加源代码”都柏林动物园管理员长途调用结构-ope体育电竞_ope电竞渠道_ope电竞投注 SpringApplication.run(DubboConsumerApplication.class, args); }}

3、pom.xml

www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> 4.0.0
com.boot.dubbo.demo dubbo-consumer 0.0.1-SNAPSHOT jar
dubbo-consumer Demo project for Spring Boot
org.springframework.boot spring-boot-starter-parent 2.0.6.RELEASE 通明头像
UTF-8 UTF-8 1.8
o蓝宇,“附加源代码”都柏林动物园管理员长途调用结构-ope体育电竞_ope电竞渠道_ope电竞投注rg.springframework.boot spring-boot-starter-wrmeb
com.boot.dubbo.demo dubbo-provider 0.0.1-SNAPSHOT
com.alibaba.spring.boot dubbo-spring-蓝宇,“附加源代码”都柏林动物园管理员长途调用结构-ope体育电竞_ope电竞渠道_ope电竞投注boot-star群众suv车型ter 2.0.0
com.101tec zkclient 0.10
org.apache.zookeeper zookeeper 3.4.10 org.slf4j slf4j-log4j12 log4j log4j
org.springframework.boot spring-boot-starter-test test
org.springframework.boot spring-boot-maven-plugin

4、application.yml

spring: dubbo: application: name: dubbo-consumer protocol: name: dubbo port: 20880 registry: address: zookeepe3d走势r://127.0.0.1:2181s蓝宇,“附加源代码”都柏林动物园管理员长途调用结构-ope体育电竞_ope电竞渠道_ope电竞投注erver: port: 8081

三、Zookeeper装置装备

Zookeeper是什么:

https://blog.csdn.net/sinat_27933301/article/details/80101970

Zookeeper的装置装备:

https://blog.csdn.net/sinat_27933301/article/details/84001530

Zookeeper集群环境建立:

https://blog.csdnhall.net/sinat_27933301/article/details/84351404

四、项目发动

五、检查Zookeeper服务注册状况

六、经过浏览器发送恳求(dubbo-provider的服务注册到Zookeeper上,dubbo-consumer顾客能够调用注册的服务)。

到此,rpc长途调用服务通了!感兴趣的话能够去学习下。

Demo 源码获取办法:重视微信群众号「Java后端 」,回复「DZ」获取

-END-