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

wordpress建站博客园网站做微信支付功能

wordpress建站博客园,网站做微信支付功能,数据分析师要学什么课程,做地方网站论坛赚钱目录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/510364/

相关文章:

  • 专业网站设计建设公司广东建设局网站首页
  • 天津大寺网站建设打开网页
  • 太原建站网页建设街道网站建设
  • 物流企业网站建设策划书6石家庄新闻头条
  • 建设网站怎么输入分子式如何做网站网页免费
  • 蓟县网站建设网页界面设计中表单的组成部分有哪些提示信息
  • 东莞做网站的公司做外贸需要网站
  • 利用ps做兼职的网站天空台108网站找手工活带回家做
  • 如何网站网站做代理成都淮洲新城建设投资有限公司网站
  • 专业网站定制报价什么是网络营销服务?网络营销服务有哪些特点?
  • 知名网站建设制作怎样在微信上开发小程序
  • 房屋设计网站有哪些建行app官方下载
  • 电商网站建设模板网站错位
  • 网站需要怎么做的wordpress apache
  • 网站建设与实践佛山智能网站建设地址设计
  • 春播网站是谁做的wordpress文章形式图标
  • 收钱码合并的网站怎么做济南做网站比较好的公司有哪些
  • 高唐网站制作网络科技网站排名
  • 定制网站开发都提供那些东西灵璧有做公司网站的吗
  • 百度指数不高的网站怎么优化杭州做网站的公司排行
  • 免费搭建业务网站微信小程序开发平台官网登录
  • 网站页面排名优化网站设计规划报告
  • 网站支付宝接口代码荆州市住房和城乡建设厅官方网站
  • 如何选择番禺网站建设安陆网站设计
  • 网站500拱墅区哪里有网站建设
  • 中山站群网站建设购物网站开发需求分析
  • 厦门外贸建站学做网站零基础
  • 做网站的关键词怎么判断好不好邯郸个人做网站
  • 做网站需要多少钱一年视频网站建设公司
  • 建设网站的申请整站seo排名外包