Java简单操作dubbo(一)
dubbo-service公共Service
- package com.itman.service;
- public interface UserService {
- // 提供服务 使用userId查找用户信息FS
- public String getUserId(Integer id);
- }
dubbo-producer生产者
引入依赖
- <dependencies>
- <dependency>
- <groupId>com.alibaba</groupId>
- <artifactId>dubbo</artifactId>
- <version>2.5.6</version>
- </dependency>
- <!-- 添加zk客户端依赖 -->
- <dependency>
- <groupId>com.github.sgroschupf</groupId>
- <artifactId>zkclient</artifactId>
- <version>0.1</version>
- </dependency>
- <dependency>
- <groupId>com.itman</groupId>
- <artifactId>dubbo-service</artifactId>
- <version>0.0.1-SNAPSHOT</version>
- </dependency>
- </dependencies>
实现Service
- package com.itman.service.impl;
- import com.itman.service.UserService;
- public class UserServiceImpl implements UserService {
- public String getUserId(Integer id) {
- System.out.println("被客户端(消费者)消费....id:" + id);
- if (id == 1) {
- return "itman";
- }
- if (id == 2) {
- return "itman2";
- }
- if (id == 1) {
- return "itman3";
- }
- return "未找到...";
- }
- }
发布服务
- <?xml version="1.0" encoding="utf-8"?>
- <beans xmlns="http://www.springframework.org/schema/beans"
- xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:dubbo="http://code.alibabatech.com/schema/dubbo"
- xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd http://code.alibabatech.com/schema/dubbo http://code.alibabatech.com/schema/dubbo/dubbo.xsd ">
- <!-- 提供方应用信息,用于计算依赖关系 -->
- <dubbo:application name="provider" />
- <!-- 使用zookeeper注册中心暴露服务地址 -->
- <dubbo:registry address="zookeeper://169.254.197.135:2181" />
- <!-- 用dubbo协议在29014端口暴露服务 -->
- <dubbo:protocol name="dubbo" port="29014" />
- <!-- 声明需要暴露的服务接口 -->
- <dubbo:service interface="com.itman.service.UserService" ref="userService" />
- <!-- 具体的实现bean -->
- <bean id="userService" class="com.itman.service.impl.UserServiceImpl" />
- </beans>
启动代码
- package com.itman;
- import java.io.IOException;
- import org.springframework.context.support.ClassPathXmlApplicationContext;
- public class TestMember {
- public static void main(String[] args) throws IOException {
- // 发布服务
- ClassPathXmlApplicationContext app = new ClassPathXmlApplicationContext("provider.xml");
- app.start();// 加载
- System.out.println("服务发布成功...");
- System.in.read(); // 让程序阻塞
- }
- }
dubbo-consumer消费者
消费类
- package com.itman;
- import org.springframework.context.support.ClassPathXmlApplicationContext;
- import com.itman.service.UserService;
- public class TestConsumer {
- public static void main(String[] args) {
- ClassPathXmlApplicationContext app = new ClassPathXmlApplicationContext("consumer.xml");
- UserService userService = (UserService) app.getBean("userService");
- String name = userService.getUserId(1);
- System.out.println("name:" + name);
- }
- }
消费者配置
- <?xml version="1.0" encoding="UTF-8"?>
- <beans xmlns="http://www.springframework.org/schema/beans"
- xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:dubbo="http://code.alibabatech.com/schema/dubbo"
- xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd http://code.alibabatech.com/schema/dubbo http://code.alibabatech.com/schema/dubbo/dubbo.xsd">
- <!-- 消费方应用名,用于计算依赖关系,不是匹配条件,不要与提供方一样 -->
- <dubbo:application name="consumer" />
- <!-- 使用multicast广播注册中心暴露发现服务地址 -->
- <dubbo:registry protocol="zookeeper" address="zookeeper://169.254.197.135:2181" />
- <!-- 生成远程服务代理,可以和本地bean一样使用demoService -->
- <dubbo:reference id="userService" interface="com.itman.service.UserService" />
- </beans>
Dubbo-admin管理平台搭建
1.将dubbo-admin.zip 解压到webapps目录下
2.修改dubbo.properties zk注册中心连接地址连接信息
3.启动tomcat即可
Dubbo集群、负载均衡、容错
修改:provider.xml 端口号 <dubbo:protocol name="dubbo" port="29015" />
启动两个服务,配置相关权重,负载均衡策略
Java简单操作dubbo(一)的更多相关文章
- Java 简单操作hdfs API
注:图片如果损坏,点击文章链接:https://www.toutiao.com/i6632047118376780295/ 启动Hadoop出现问题:datanode的clusterID 和 name ...
- java 简单操作HDFS
创建java 项目 package com.yw.hadoop273; import org.apache.hadoop.conf.Configuration; import org.apache.h ...
- Kafka学习笔记-Java简单操作
Maven依赖包: <dependency> <groupId>org.apache.kafka</groupId> <artifactId>kafka ...
- Java简单操作Zookeeper
Zookeeper客户端链接 <dependency> <groupId>org.apache.zookeeper</groupId> <artifactId ...
- java简单操作redis数据库
package RedisTest; import redis.clients.jedis.Jedis; public class RedisTest { private static String ...
- github上创建java项目简单操作
github上创建java项目简单操作 参考L: github上创建java项目简单操作 - CSDN博客http://blog.csdn.net/qq_29392425/article/detail ...
- Java服务端对Cookie的简单操作
Java服务端对Cookie的简单操作 时间 2016-04-07 10:39:44 极客头条 原文 http://www.cuiyongzhi.com/index.php/post/15.html ...
- Java中对session的简单操作
1.jsp中操作session <% String name=(String)request.getSession().getAttribute("username"); / ...
- java日期操作大全
摘自(http://www.blogjava.net/i369/articles/83483.html) java日期操作 大全 先来一个: 取得指定月份的第一天与取得指定月份的最后一天 http ...
随机推荐
- 实验楼Python破解验证码
本人大二,因为Python结业考试项目,又想要学习机器学习方向,但是由于接触时间不长,选择了实验楼的Python破解验证码这个项目作为我的项目, 我在原来的基础上加了一些代码用于完善,并且对功能如何实 ...
- 【rabbitmq】RabbitMQ 集群与网络分区
网络分区(network partitions) 官网-网络分区 网络设备故障导致的网络分裂.比如,存在A\B\C\D\E五个节点,A\B处于同一子网,B\C\D处于另外一子网,中间通过交换机相连.若 ...
- Lubuntu下安装Python3.6
Lubuntu下系统自带的Python版本是2.X,由于开发环境要求Python3,于是我们安装Python3.6 1.在终端输入以下命令: sudo add-apt-repository ppa:j ...
- (引用)!Unicode,GBK以及UTF8的联系和区别
在实现单片机显示汉字的操作时,了解到有关汉字编码的相关概念. Unicode是一种字符集,该字符集可以涵盖世界上所有的语言.最常见的字符集是ASC II-0~127(0x00~0x7f).Unicod ...
- c# 观察者模式 匿名方法与Lambda
//匿名方法 //和委托搭配使用 //方便我们快速对委托进行传参 //不需要我们去定义一个新的函数 //直接用delegate关键字代替方法名,后面跟上参数列表与方法体 //delegate(参数列表 ...
- springboot项目如何打包成war包
一.修改打包形式 在pom.xml里设置 <packaging>war</packaging> 二.移除嵌入式tomcat插件 在pom.xml里找到spring-boot-s ...
- Spark-RPC理解
基本架构 Akka Actor式RPC架构 Spark采用的是AkkaActor架构实现RPC,但是实际使用过程为了兼容不同节点之间的文件下载,采用Netty来实现Actor功能. Spark RPC ...
- 一、.NetCore EF 之命令行
一.前言 最近在学习研究ABP,使用到微软的ORM框架 Entity Framework(后面简称EF),将其基本操作记录下来. 二.程序包管理器控制台 为了能够在控制台中使用命令行来操作EF,需要先 ...
- JS 实现右下角弹窗
<!DOCTYPE HTML> <head> <title>JS实现右下角弹窗</title> <meta http-equiv="co ...
- jmeter联合selenium webdriver进行自动化测试-简单1
jmeter进行webdriver测试 背景:jmeter可以联合selenium进行基本的UI自动化进行测试,解放了手工测试的压力.那么selenium webdriver完成GUI的流程初步如下 ...