河源网站开发,怎样建设的网站好优化好排名,公司网站模板 免费,河南省住房城乡建设厅官方网站阿丹#xff1a; 目前流行的微服务更多的就是dubbo和springcould微服务。之前阿丹没有出过dubbo相关的文章#xff0c;因为之前接触springcould的微服务概念比较多一点#xff0c;但是相对于springcould来说#xff0c;springcould服务之间的调用是大多是使用了nacos#…阿丹 目前流行的微服务更多的就是dubbo和springcould微服务。之前阿丹没有出过dubbo相关的文章因为之前接触springcould的微服务概念比较多一点但是相对于springcould来说springcould服务之间的调用是大多是使用了nacos来构造了http的请求来完成的。但是对于dubbo的服务来说就更加的灵活。所以掌握dubbo也是一个很重要的技能本文章阿丹就带着大家从企业的项目出发搭建一个多环境运行的spring整合的dubbo框架。 多环境就是本地环境、测试环境、生产环境。
简单介绍dubbo: Apache Dubbo 是一款高性能、轻量级的开源 Java RPC 框架它提供了三大核心能力面向接口的远程方法调用智能容错和负载均衡以及服务自动注册和发现。 Dubbo 的主要特性包括
支持多种协议Dubbo 提供了多种协议的支持包括 HTTP、Hessian、Dubbo、RMI、Webservice、Memcached 等。高性能Dubbo 使用 Netty 作为网络通信框架并进行了大量的优化使得其在网络通信方面的性能非常优秀。动态配置Dubbo 支持动态调整配置参数可以在不重启服务的情况下改变服务提供者或消费者的行为。自动化服务治理Dubbo 提供了自动化服务治理的能力包括服务注册与发现、智能路由、流量调度等。容错性Dubbo 支持智能容错机制可以根据不同的错误情况采取不同的应对策略。负载均衡Dubbo 支持多种负载均衡算法包括随机、轮询、最少活跃调用数等。可扩展性Dubbo 设计上遵循微内核的设计理念只提供了最基础的核心功能其他的高级功能都通过插件的方式实现具有很好的可扩展性。 此外Dubbo 还提供了丰富的工具和组件包括可视化监控中心、配置中心、API网关等方便用户进行管理和运维。
文章内容 我会先将整体服务和框架搭建起来然后再将框架改成不同环境下运行的项目。并附带配置文件
项目结构
同学们可以学习一下这个项目的结构以及每个包的作用我之前专门出了一个文章描述这个包的用处。 引入依赖
注意我们在企业中开发的时候在引入依赖的时候一定要谨慎尤其是进行二次开发的同学们一定要去项目中的其他模块先观察版本以及依赖关系不然的话在最后处理就会很麻烦还可能会造成大事故
阿丹小贴士 不同版本之间极有可能会造成因为版本冲突而导致的程序无法启动等等问题所以在实践本文章的小伙伴一定要在新搭建项目的时候使用IDEA中的快捷键CTRLSHIFTF来查找自己二开的项目中的已经使用的版本。
?xml version1.0 encodingUTF-8?
project xmlnshttp://maven.apache.org/POM/4.0.0xmlns:xsihttp://www.w3.org/2001/XMLSchema-instancexsi:schemaLocationhttp://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsdmodelVersion4.0.0/modelVersiongroupIdcom.adn.export/groupIdartifactIdadn-exportCSV/artifactIdversion1.0-SNAPSHOT/version
!-- 指定spring版本--parentgroupIdorg.springframework.boot/groupIdartifactIdspring-boot-starter-parent/artifactIdversion2.6.8/versionrelativePath / !-- lookup parent from repository --/parentpropertiesmaven.compiler.source11/maven.compiler.sourcemaven.compiler.target11/maven.compiler.targetproject.build.sourceEncodingUTF-8/project.build.sourceEncoding/propertiesdependenciesdependencygroupIdcom.alibaba.spring.boot/groupIdartifactIddubbo-spring-boot-starter/artifactIdversion2.0.0/version/dependency!-- 引入 Zookeeper 依赖项 --!-- 这是 Apache Dubbo 所需的一个核心组件用于服务注册与发现 --!-- 参考https://mvnrepository.com/artifact/org.apache.dubbo/dubbo-dependencies-zookeeper --dependencygroupIdorg.apache.dubbo/groupIdartifactIddubbo-dependencies-zookeeper/artifactIdversion2.7.15/versiontypepom/typeexclusionsexclusiongroupIdorg.slf4j/groupIdartifactIdslf4j-log4j12/artifactId/exclusion/exclusions/dependency!-- 引入 Spring Boot Web 开发所需的依赖项 --!-- 参考https://mvnrepository.com/artifact/org.springframework.boot/spring-boot-starter-web --dependencygroupIdorg.springframework.boot/groupIdartifactIdspring-boot-starter-web/artifactIdexclusionsexclusiongroupIdorg.springframework.boot/groupIdartifactIdspring-boot-starter-logging/artifactId/exclusionexclusiongroupIdorg.slf4j/groupIdartifactIdslf4j-log4j12/artifactId/exclusion/exclusions/dependency!-- 引入 Log4j 日志框架 --!-- 注意请根据实际情况调整 Log4j 版本号并注意日志框架版本与系统中已存在的日志库兼容性问题 --!-- 参考https://mvnrepository.com/artifact/log4j/log4j --dependencygroupIdlog4j/groupIdartifactIdlog4j/artifactIdversion1.2.17/version/dependency/dependencies/project
为了便于大家理解写上了全部的注释但是要注意根据后面的操作这个写配置文件会进行修改。
配置文件 我这里的配置文件采用的是application.yml 这里只是一个简单的示例
# Spring Boot 的应用名称
spring:application:name: adn-exportCSV# Web 服务端口设置
server:port: 9091# 服务器的上下文路径servlet:context-path: /# Dubbo 配置
dubbo:# 标识当前节点为 Dubbo 既是服务提供者也是消费者server: false# 设置 Dubbo 注册中心这里采用 ZooKeeperregistry: zookeeper://127.0.0.1:2181
启动类编码
import com.alibaba.dubbo.spring.boot.annotation.EnableDubboConfiguration;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;SpringBootApplication
EnableDubboConfiguration
public class ExportCsvApplication {public static void main(String[] args) {SpringApplication.run(ExportCsvApplication.class,args);}
}先启动zookper:
如果不会的阿丹后期会专门出一个文章给同学们提供资源。 运行 恭喜你的第一个dubbo项目就运行启动了