当前位置: 首页 > news >正文

常州市钟楼建设局网站wordpress用户注册免邮箱

常州市钟楼建设局网站,wordpress用户注册免邮箱,google优化推广,手工蛋糕网站开发报告目录1、dubbo简介2、dubbo解决了什么问题3、环境准备4、项目搭建5、总结springboot整合feign可参考我另外一篇文章SpringBoot集成Feign 1、dubbo简介 Apache Dubbo 最初在 2008 年由 Alibaba 捐献开源,很快成为了国内开源服务框架选型的事实标准框架 ,…

目录

  • 1、dubbo简介
  • 2、dubbo解决了什么问题
  • 3、环境准备
  • 4、项目搭建
  • 5、总结

springboot整合feign可参考我另外一篇文章SpringBoot集成Feign

1、dubbo简介

Apache Dubbo 最初在 2008 年由 Alibaba 捐献开源,很快成为了国内开源服务框架选型的事实标准框架 ,得到了各行各业的广泛应用。在 2017 年,Dubbo 正式捐献到 Apache 软件基金会并成为 Apache 顶级项目,目前 Dubbo3 已经是一站式的微服务解决方案。可以看到自 SpringCloud Alibaba 2021.0.1.0 起,Dubbo已被移除SpringCloud Alibaba 。目前基本都是使用org.apache.dubbo,而com.alibaba.dubbo已被弃用。
在这里插入图片描述

2、dubbo解决了什么问题

分类dubbo的特性
高性能RPC调用(主)提供高性能的基于代理的远程调用能力,服务以接口为粒度,为开发者屏蔽远程调用底层细节
服务自动注册与发现支持多种注册中心服务,服务实例上下线实时感知
运行期流量调度内置条件、脚本等路由策略,通过配置不同的路由规则,轻松实现灰度发布、同机房优先等功能
智能负载均衡内置多种负载均衡策略,智能感知下游节点健康状况,显著减少调用延迟,提高系统吞吐量
高度可扩展能力遵循微内核+插件的设计思想,所有核心能力如Protocol、Transport、Serialization被设计为扩展点,平等对待内置实现和第三方实现
可视化的服务治理与运维提供丰富服务治理、运维工具:随时查询服务元数据、服务监控状态以及调用统计,实时下发路由策略,调整配置参数

3、环境准备

系统:windows
JDK:1.8
Maven:3.8.1
Nacos:2.2.0 (下载和使用介绍:【Nacos】SpringBoot集成Nacos)

项目下载模板地址:https://github.com/shengwanping/SpringBoot-dubbo-demo.git

4、项目搭建

1、首先创建一个基于Maven的工程
在这里插入图片描述

2、然后创建三个子项目:springboot-dubbo-provider、springboot-dubbo-interface、springboot-dubbo-consumer,如下

在这里插入图片描述
在这里插入图片描述

3、每个子项目分别创建如下三个目录:org.dubbo.consumer; org.dubbo; org.dubbo.provider
在这里插入图片描述

4、父项目中添加Maven依赖
在这里插入图片描述

<!--dependencyManagement 依赖管理,子项目不会继承父依赖,需要重新声明--><dependencyManagement><dependencies><!-- spring-boot依赖--><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-dependencies</artifactId><version>2.3.12.RELEASE</version><type>pom</type><scope>import</scope></dependency><!-- spring-cloud alibaba依赖--><dependency><groupId>com.alibaba.cloud</groupId><artifactId>spring-cloud-alibaba-dependencies</artifactId><version>2.2.7.RELEASE</version><type>pom</type><scope>import</scope></dependency></dependencies></dependencyManagement><!--com.alibaba.cloud 2.2.7版本有个坑,需要把spring-context-support升到1.0.11才能启动项目--><dependencies><dependency><groupId>com.alibaba.spring</groupId><artifactId>spring-context-support</artifactId><version>1.0.11</version></dependency></dependencies>

5、然后在 springboot-dubbo-consumer 和 springboot-dubbo-provider 两个模块 pom.xml 中进行具体依赖的配置
在这里插入图片描述

<dependencies><!--引入 springboot-dubbo-interface 接口服务--><dependency><groupId>org.example</groupId><artifactId>springboot-dubbo-interface</artifactId><version>1.0-SNAPSHOT</version></dependency><!-- springboot 依赖--><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-web</artifactId></dependency><!--  nacos 服务的注册发现     --><dependency><groupId>com.alibaba.cloud</groupId><artifactId>spring-cloud-starter-alibaba-nacos-discovery</artifactId></dependency><!--  nacos  配置中心做依赖管理    --><dependency><groupId>com.alibaba.cloud</groupId><artifactId>spring-cloud-starter-dubbo</artifactId></dependency><!-- dubbo-apache --><dependency><groupId>org.apache.dubbo</groupId><artifactId>dubbo-spring-boot-starter</artifactId><version>2.7.8</version></dependency></dependencies>

6、定义服务接口

在这里插入图片描述

package org.dubbo;public interface DemoService {String sayHello(String name);
}

7、配置服务端yml文件

在这里插入图片描述

server:port: 8010spring:# 应用名称(nacos会将改名称作为服务名称)application:name: springboot-dubbo-providercloud:nacos:server-addr: localhost:8848# 注册中心discovery:namespace: public #命名空间,如prod,dev,默认public# 配置中心config:server-addr: localhost:8848dubbo:protocol:name: dubboport: -1registry:address: nacos://localhost:8848

8、配置消费端yml文件

在这里插入图片描述

server:port: 8011spring:# 应用名称(nacos会将改名称作为服务名称)application:name: springboot-dubbo-consumercloud:nacos:server-addr: localhost:8848# 注册中心discovery:namespace: public #命名空间,如prod,dev,默认public# 配置中心config:server-addr: localhost:8848dubbo:protocol:name: dubboport: -1registry:address: nacos://localhost:8848

9、定义服务端的实现 和 服务端启动类
在这里插入图片描述
实现类:

package org.dubbo.provider;import org.apache.dubbo.config.annotation.DubboService;
import org.dubbo.DemoService;@DubboService
public class DemoServiceImpl implements DemoService {@Overridepublic String sayHello(String name) {return "Hello " + name;}
}

启动类:

package org.dubbo.provider;import org.apache.dubbo.config.spring.context.annotation.EnableDubbo;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
@EnableDubbo
@SpringBootApplication
public class ProviderApplication {public static void main(String[] args) {SpringApplication.run(ProviderApplication.class, args);}
}

10、定义消费端 启动类和调用类
在这里插入图片描述
启动类:

package org.dubbo.consumer;import org.apache.dubbo.config.spring.context.annotation.EnableDubbo;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;@SpringBootApplication
@EnableDubbo
public class ConsumerApplication {public static void main(String[] args) {SpringApplication.run(ConsumerApplication.class, args);}
}

调用类:

package org.dubbo.consumer;import java.util.Date;import org.apache.dubbo.config.annotation.DubboReference;
import org.dubbo.DemoService;
import org.springframework.boot.CommandLineRunner;
import org.springframework.stereotype.Component;@Component
public class Task implements CommandLineRunner {@DubboReferenceprivate DemoService demoService;@Overridepublic void run(String... args) throws Exception {String result = demoService.sayHello("world");System.out.println("Receive result ======> " + result);new Thread(()-> {while (true) {try {Thread.sleep(1000);System.out.println(new Date() + " Receive result ======> " + demoService.sayHello("world"));} catch (InterruptedException e) {e.printStackTrace();Thread.currentThread().interrupt();}}}).start();}
}

11、分别先后启动 服务启动类 和 消费启动类,当消费启动类控制台看到如下信息则说明成功了。

在这里插入图片描述

还可在nacos中看到注入的两个服务
在这里插入图片描述

5、总结

简单理解在微服务中使用Dubbo实现RPC远程接口调用,只需要满足如下几个条件:

1、导入org.apache.dubbo maven依赖。
2、配置基于dubbo的yml配置文件
3、在启动类加上@EnableDubbo注解
4、被调用接口实现类使用@DubboService注解
5、调用接口时使用@DubboReference注解

参考地址:
https://cn.dubbo.apache.org/zh-cn/overview/what/overview/
https://spring.io/projects/spring-cloud
https://blog.csdn.net/x734400146/article/details/108087926

http://www.yayakq.cn/news/47136/

相关文章:

  • 做封面的地图网站wordpress homeslide
  • 公司网站备案需要每年做吗企业网站建设的心得
  • 在线定制网站官网创想商务网站建设
  • 惠民县建设局网站商品列表html模板
  • 服务器怎么直接用ip做网站百度推广外包
  • wordpress建站博客园html代码特效银河系
  • 网站设计公司发展个人网页设计尺寸是多少
  • 很那网站建设中国建设银行互联网网站首页
  • 有做酒席酒水网站吗衡水网站建设03181688
  • 大型网站建设制作东莞网站建设总部地址
  • 网站平台开发与应用面试wordpress+百度云图安装
  • 阿克苏地区住房和城乡建设局网站无代码开发平台永久免费
  • 中国建设银行网站怎么改支付密码忘了怎么办北京建设工程造价信息
  • 可以做设计的网站专业网站设计服务
  • 有什么好用的模拟建站软件黄石企业做网站
  • 做出个人网站什么水平天津微网站
  • com域名和网站现在流行的网站开发语言
  • 萧山做网站公司重庆好的网站制作公司
  • 手机网站是什么建站之家官网
  • 用自己的身份做网站备案wordpress 虚拟会员插件
  • 黄冈手机网站建设六安网站建设报价方案
  • 购物网站建设模板下载如何用ppt做网站
  • 五金网站制作定制一个网站多少钱
  • 怎么做一个网站的步骤做电影网站怎么样
  • 河南省建设厅网站 吴浩做网站首页ps中得多大
  • 做么做好网站运营360网站图标怎么做
  • 网站做短链统计优缺点wordpress标题截断
  • 新开传奇网站180火龙东莞知名网站
  • 做demo的网站wordpress 浏览次数
  • 网站制作设计哪家公司好物流服务与管理