基于dubbo改造现有http调用项目

薄洪涛2年前JAVA5781

使用zooker作为注册中心,将现有通过http调用的项目改造成dubbo调用

公共项目

规定接口
public interface OrderService {
    public String getOrderId();
}

服务提供者

配置
dubbo.application.name=provider-application
dubbo.protocol.name=dubbo
dubbo.protocol.port=20880

dubbo.registry.address=zookeeper://127.0.0.1:2181
maven
<dependency>
    <groupId>org.apache.dubbo</groupId>
    <artifactId>dubbo-spring-boot-starter</artifactId>
    <version>3.0.7</version>
</dependency>

<dependency>
    <groupId>org.apache.dubbo</groupId>
    <artifactId>dubbo-rpc-dubbo</artifactId>
    <version>3.0.7</version>
</dependency>

<dependency>
    <groupId>org.apache.dubbo</groupId>
    <artifactId>dubbo-registry-zookeeper</artifactId>
    <version>3.0.7</version>
</dependency>
启动类
@SpringBootApplication
@EnableDubbo
public class ProviderApplication {

	public static void main(String[] args) {
		SpringApplication.run(ProviderApplication.class, args);
	}

}
实现类
@DubboService
public class OrderServiceImpl implements OrderService {

    /**
     * 获取orderid
     * @return String
     */
    public String getOrderId() {
        return "boht";
    }
}

消费者

配置
dubbo.application.name=consumer-application
dubbo.protocol.name=dubbo
dubbo.protocol.port=20880

dubbo.registry.address=zookeeper://127.0.0.1:2181
maven
<dependency>
    <groupId>org.apache.dubbo</groupId>
    <artifactId>dubbo-spring-boot-starter</artifactId>
    <version>3.0.7</version>
</dependency>

<dependency>
    <groupId>org.apache.dubbo</groupId>
    <artifactId>dubbo-rpc-dubbo</artifactId>
    <version>3.0.7</version>
</dependency>

<dependency>
    <groupId>org.apache.dubbo</groupId>
    <artifactId>dubbo-registry-zookeeper</artifactId>
    <version>3.0.7</version>
</dependency>
启动类
@SpringBootApplication
@EnableDubbo
public class ConsumerApplication {
	public static void main(String[] args) {
		SpringApplication.run(ConsumerApplication.class, args);
	}
}
实现类
import com.boht.common.OrderService;
import org.apache.dubbo.config.annotation.DubboReference;
import org.springframework.stereotype.Service;

@Service
public class UserService {

    @DubboReference
    private OrderService orderService;

    /**
     * 获取orderid
     * @return String
     */
    public String getOrderId() {
        return orderService.getOrderId();
    }
}


标签: dubbozookeeper

相关文章

java相关日期函数

java相关日期函数

JDK7Data// 1.创建当前时间 Date d1 = new Date(); System.out.println(d1); // ...

docker-swarm部署java项目

技术栈Java 版本: 17Spring Boot 版本: 3.xMyBatis-Plus: 简化 MyBatis 操作的增强工具PostgreSQL: 关系型数据库Redis: 分布式缓存解决方案R...

springboot 数据校验

使用import javax.validation.constraints.NotNull import javax.validation.constraints.Size cl...

接口熔断器resilience4j的使用

pom引入<!-- 熔断器 : https://mvnrepository.com/artifact/io.github.resilience4j/resilien...

centos安装java环境

centos安装java环境

很多工具(比如Lucene )都要依赖java环境,所以我在服务器上装了一个jdk,然后在这篇文章中记录下安装的步骤;当我们修改程序并通过SVN上传到服务器后环境:  &...

Springboot+Kotlin的搭建

Springboot+Kotlin的搭建

不少公司觉得php的性能较低,于是采用java做逻辑处理,php做表现层的做法,个人觉得对于业务量比较复杂,安全性要求较高的项目,可以采用此类做法;于是我学着搭建了一个基于spring boot的接口...

评论列表

bbt
2023-07-28 16:52:54

打赏sa

发表评论    

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。