使用Dubbo进行远程服务交互,Dubbo本身支持很多协议HTPP、HESSION、RMI 等等,由于Dubbo已经封装了协议、序列化、通信,并提供了软负载均衡,监控中心.服务注册中心,无论是Consumer、Proveder都不需要关注细节,只需要简单的配置完成了消费端和提供端透明化的调用。
使用如下组件:
ZooKeeper: (服务注册中心),服务提供方将服务发布到注册中心,只是将服务的地址名称暴露出来,服务消费方订阅服务提供方的名称,就能实现透明化的调用、
DUBBO:服务治理框架。
SpringBoot:约定大于配置,提供基于Spring快速构建应用,SpringBoot并不是新的技术,只是在原有Spring上提供了很多默认的配置,加快构建的速度.内嵌TOMCAT等容器
构建项目:
dcms-cif-base:POJO对象提供了服务端和消费端使用
dcms-cif-service:服务接口提供了服务端和消费端使用
dcms-cif-restful:消费端,接受http请求,返回JSON,实现resutful
dcms-cif-business:服务接口实现,提供服务端
服务接口:
创建MAVEN项目:dcms-cif-service,只是简单的接口
package com.dcms.mcif.service;
import com.dcms.mcif.domain.Response;
public interface UserService {
Response<?> findUserById(String id);
}
创建MAVEN项目:dcms-cif-base
package com.dcms.mcif.domain;
public class UserVO implements java.io.Serializable {
/**
*
*/
private static final long serialVersionUID = 1L;
private String id;
private String name;
private int age;
private String email;
public String getId() {
return id;
}
public void setId(String id) {
this.id = id;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public int getAge() {
return age;
}
public void setAge(int age) {
this.age = age;
}
public String getEmail() {
return email;
}
public void setEmail(String email) {
this.email = email;
}
}