dubbo-springboot-project主项目工程:dubbo-springboot-project ,maven类型,创建后删除src即可。
接口工程: interface ,maven类型
服务提供者:provider ,maven类型
消费者工程:consumer ,maven类型
pom.xmlinterface4.0.0 pom interface provider consumer org.springframework.boot spring-boot-starter-parent2.6.0 com.heheda.www dubbo-springboot-project0.0.1 dubbo-springboot-project Demo project for Spring Boot 1.8 2.7.3 org.apache.dubbo dubbo-spring-boot-starter${dubbo.version} org.apache.dubbo dubbo-dependencies-zookeeper${dubbo.version} pom maven-compiler-plugin 3.1 1.8
a.目录结构 b. pom.xmlproviderc.User.java4.0.0 com.heheda.www interface0.0.1 dubbo-springboot-project com.heheda.www 0.0.1 UTF-8 1.8 1.8 org.springframework.boot spring-boot-starter-weborg.apache.dubbo dubbo-spring-boot-starterorg.apache.dubbo dubbo-dependencies-zookeeperpom package com.heheda.www.model; import java.io.Serializable; public class User implements Serializable { private Integer id; private String username; private Integer age; public Integer getId() { return id; } public void setId(Integer id) { this.id = id; } public String getUsername() { return username; } public void setUsername(String username) { this.username = username; } public Integer getAge() { return age; } public void setAge(Integer age) { this.age = age; } }d.UserService.javapackage com.heheda.www.service; import com.heheda.www.model.User; public interface UserService { User queryUserById(Integer id); }
a.目录结构 b.pom.xmlconsumerc.UserServiceImpl.java4.0.0 com.heheda.www provider0.0.1 dubbo-springboot-project com.heheda.www 0.0.1 UTF-8 1.8 1.8 com.heheda.www interface0.0.1 package com.heheda.www.service; import com.heheda.www.model.User; import org.apache.dubbo.config.annotation.Service; @Service(version = "1.0.0") public class UserServiceImpl implements UserService { @Override public User queryUserById(Integer id) { User user = new User(); user.setId(id); user.setAge(11); user.setUsername("version-1"); return user; } }d.UserServiceImpl2.javapackage com.heheda.www.service; import com.heheda.www.model.User; import org.apache.dubbo.config.annotation.Service; @Service(version = "2.0.0") public class UserServiceImpl2 implements UserService { @Override public User queryUserById(Integer id) { User user = new User(); user.setId(id); user.setAge(22); user.setUsername("version-2"); return user; } }e.ProviderApplication.javapackage com.heheda.www; import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.SpringBootApplication; @SpringBootApplication public class ProviderApplication { public static void main(String[] args) { SpringApplication.run(ProviderApplication.class,args); } }f.application.yml# 服务端口 server: port: 8001 # dubbo配置 dubbo: application: # dubbo中的应用名称,必须唯一 name: provider registry: # 注册中心地址 address: zookeeper://192.168.1.201:2181?backup=192.168.1.202:2181,192.168.1.203:2181 # 超时时间,单位毫秒 timeout: 6000 metadata-report: # 元数据中心地址 address: zookeeper://192.168.1.201:2181?backup=192.168.1.202:2181,192.168.1.203:2181 protocol: # 协议名称 name: dubbo # 协议端口 port: 20880 scan: # 扫描包的位置 base-packages: com.heheda.www.service
a.目录结构 b.pom.xml搭建zookeeper集群c.UserController.java4.0.0 com.heheda.www consumer0.0.1 dubbo-springboot-project com.heheda.www 0.0.1 UTF-8 1.7 1.7 com.heheda.www interface0.0.1 package com.heheda.www.controller; import com.heheda.www.model.User; import com.heheda.www.service.UserService; import org.apache.dubbo.config.annotation.Reference; import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RestController; @RestController @RequestMapping("/user") public class UserController { @Reference(version = "1.0.0") private UserService userService; @Reference(version = "2.0.0") private UserService userService2; @GetMapping("/detail") public User userDetail(Integer id){ User user = userService.queryUserById(id); return user; } @GetMapping("/detail2") public User userDetail2(Integer id){ User user = userService2.queryUserById(id); return user; } }d.ConsumerApplication.javapackage com.heheda.www; import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.SpringBootApplication; @SpringBootApplication public class ConsumerApplication { public static void main(String[] args) { SpringApplication.run(ConsumerApplication.class,args); } }e.application.yml# 服务端口 server: port: 8002 # dubbo配置 dubbo: application: # dubbo中的应用名称,必须唯一 name: consumer registry: # 注册中心地址 address: zookeeper://192.168.1.201:2181?backup=192.168.1.202:2181,192.168.1.203:2181
a.使用VMware虚拟机安装好CentOS7版本的系统项目代码CentOS7无界面镜像下载地址:
链接:https://pan.baidu.com/s/1UGU9CuXhDLbx3qajNAZDGA
b.设置共享文件夹 c.zookeeper文件拷贝到共享文件夹内,安装好jdk环境 d.配置zookeeper
提取码:4mi11.进入共享文件夹,cd /mnt/hgfs/vmware_share/
2.创建文件夹 mkdir -p /usr/local/zookeeper/
3.解压zookeeper到文件夹中,tar -zxvf apache-zookeeper-3.5.9-bin -C /usr/local/zookeeper/
4.cd /usr/local/zookeeper/apache-zookeeper-3.5.9-bin/,创建data文件夹+logs文件夹,mkdir data,mkdir logs
5.配置zookeeper,cd conf,拷贝 cp zoo_sample.cfg zoo.cfg,编辑 vi zoo.cfg,修改data和log的路径
dataDir=/usr/local/zookeeper/apache-zookeeper-3.5.9-bin/data
logDir=/usr/local/zookeeper/apache-zookeeper-3.5.9-bin/logs6.在zoo.cfg中配置集群服务,添加:
server.1=192.168.1.201:2888:3888
server.2=192.168.1.202:2888:3888
server.3=192.168.1.203:2888:38887.在data文件夹中创建文件myid,作为服务集群的id,对应的server.*,vi myid,内容:1,保存即可
8.修改系统的ip地址为固定的192.168.1.201,先设置虚拟机网络适配器为桥接模式,然后修改文件 sudo vi /etc/sysconfig/network-scripts/ifcfg-ens33 ,根据命令ifconfig 查看自己虚拟机连接的网络,我的是ens33,所以我修改ifcfg-ens33文件,修改内容如下:
TYPE=Ethernet
e.克隆配置好的CentOS,克隆两份,然后修改对应的zookeeper里面data的myid和虚拟机网络ip
PROXY_METHOD=none
BROWSER_onLY=no
BOOTPROTO=static
DEFROUTE=yes
IPV4_FAILURE_FATAL=no
IPV6INIT=yes
IPV6_AUTOCONF=yes
IPV6_DEFROUTE=yes
IPV6_FAILURE_FATAL=no
IPV6_ADDR_GEN_MODE=stable-privacy
NAME=ens33
UUID=4d2ae117-7be8-4b0d-a9c1-3d476501bbf2
DEVICE=ens33
onBOOT=yes
IPADDR=192.168.1.201
NETMASK=255.255.255.0
GATEWAY=192.168.1.1
DNS1=114.114.114.114
NDS2=192.168.1.1
ZONE=publicCentOS01,ip地址:192.168.1.201,data/myid 内容:1
CentOS02,ip地址:192.168.1.202,data/myid 内容:2
CentOS03,ip地址:192.168.1.203,data/myid 内容:3
f.启动zookeeper和查看zookeeper状态启动:bin/zkServer.sh start
关闭:bin/zkServer.sh stop
状态:bin/zkServer.sh status
dubbo-project: 码云-呵呵哒https://gitee.com/hehedas_admin/dubbo-project
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)