微服务dubbo和nexus

这篇具有很好参考价值的文章主要介绍了微服务dubbo和nexus。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

微服务是一种软件开发架构风格,它将一个应用程序拆分成一组小型、独立的服务,每个服务都可以独立部署、管理和扩展。每个服务都可以通过轻量级的通信机制(通常是 HTTP/REST 或消息队列)相互通信。微服务架构追求高内聚、低耦合,使开发团队能够更加灵活地开发、测试和部署独立的功能模块。

服务治理是指在微服务架构中,对服务的管理、监控、调度和协调的一系列实践和工具。它包括服务注册与发现、负载均衡、故障转移、容错处理等,以确保微服务架构能够弹性扩展、容错恢复、高可用性。服务治理可以通过使用服务注册中心、负载均衡器、断路器等技术来实现。它提供了一种集中管理和控制微服务的方式,使整个系统具备更好的弹性和高可用性。

环境
zk是之前的环境
192.168.74.70 zk
192.168.74.71 zk
192.168.74.72 zk
192.168.74.67 provider
192.168.74.66 consumer
安装java环境
apt install openjdk-11-jdk -y

先启动生产者

上传dubbo-demo-provider-2.1.5-assembly.tar.gz
解压移动
mv dubbo-demo-provider-2.1.5 /usr/local/dubbo-demo-provider

修改配置,添加zookeeper配置,注释multicast

/usr/local/dubbo-demo-provider-2.1.5/conf# vi dubbo.properties 
dubbo.container=log4j,spring
dubbo.application.name=demo-provider
dubbo.application.owner=
dubbo.registry.address=multicast://224.5.6.7:1234
dubbo.registry.address=zookeeper://192.168.74.70:2181 | zookeeper://192.168.74.71:2181 zookeeper://192.168.74.72:2181 
#dubbo.registry.address=redis://127.0.0.1:6379
#dubbo.registry.address=dubbo://127.0.0.1:9090
dubbo.monitor.protocol=registry
dubbo.protocol.name=dubbo
dubbo.protocol.port=20880
dubbo.log4j.file=logs/dubbo-demo-provider.log 
dubbo.log4j.level=WARN                                          

启动
root@node4:/usr/local/dubbo-demo-provider-2.1.5# ./bin/start.sh
查看日志

 cat logs/stdout.log 

[1.480s][warning][exceptions] Class com.alibaba.dubbo.common.URL in throws clause of method com.alibaba.dubbo.remoting.Server com.alibaba.dubbo.remoting.Transporter_Adpative.bind(com.alibaba.dubbo.common.URL, com.alibaba.dubbo.remoting.ChannelHandler) is not a subtype of class java.lang.Throwable
[2023-08-27 23:15:15] Dubbo service server started!

zk工具查看已经注册成功
微服务dubbo和nexus,微服务,dubbo,架构
zk就有了生产者地址

配置消费者

安装jdk
apt install openjdk-11-jdk
上传包并解压
tar -xf dubbo-demo-consumer-2.1.5-assembly.tar.gz -C /usr/local/

配置zookeeper地址

root@node3:~# vim /usr/local/dubbo-demo-provider/conf/dubbo.properties

dubbo.container=log4j,spring
dubbo.application.name=demo-consumer
dubbo.application.owner=
#dubbo.registry.address=multicast://224.5.6.7:1234
dubbo.registry.address=zookeeper://192.168.74.70:2181 | zookeeper://192.168.74.71:2181 | zookeeper://192.168.74.72:2181
#dubbo.registry.address=zookeeper://127.0.0.1:2181
#dubbo.registry.address=redis://127.0.0.1:6379
#dubbo.registry.address=dubbo://127.0.0.1:9090
dubbo.monitor.protocol=registry
dubbo.log4j.file=logs/dubbo-demo-consumer.log
dubbo.log4j.level=WARN

启动
root@node3:~/dubbo-demo-consumer-2.1.5# ./bin/start.sh

微服务dubbo和nexus,微服务,dubbo,架构

消费者启动不了

Caused by: java.lang.IllegalStateException: Failed to check the status of the service com.alibaba.dubbo.demo.DemoService. No provider available for the service com.alibaba.dubbo.demo.DemoService from the url registry://192.168.74.72:2181/com.alibaba.dubbo.registry.RegistryService?application=demo-consumer&cluster=available&dubbo=2.1.5&pid=3467&refer=application%3Ddemo-consumer%26dubbo%3D2.1.5%26interface%3Dcom.alibaba.dubbo.demo.DemoService%26methods%3DsayHello%26monitor%3Ddubbo%253A%252F%252F192.168.74.72%253A2181%252Fcom.alibaba.dubbo.registry.RegistryService%253Fapplication%253Ddemo-consumer%2526dubbo%253D2.1.5%2526pid%253D3467%2526protocol%253Dregistry%2526refer%253Ddubbo%25253D2.1.5%252526interface%25253Dcom.alibaba.dubbo.monitor.MonitorService%252526pid%25253D3467%252526timestamp%25253D1693150000307%2526registry%253Dzookeeper%2526timestamp%253D1693150000302%26pid%3D3467%26revision%3D2.1.5%26timestamp%3D1693149990218&registry=zookeeper&timestamp=1693150000302 to the consumer 192.168.1.220 use dubbo version 2.1.
.2023-08-27 23:42:02,889 [main] ERROR com.alibaba.dubbo.remoting.transport.AbstractClient (AbstractClient.java:111) -  [DUBBO] Failed to start NettyClient node3/192.168.74.66 connect to the server /192.168.1.220:20880 (check == false, ignore and retry later!), cause: client(url: dubbo://192.168.1.220:20880/com.alibaba.dubbo.demo.DemoService?anyhost=true&application=demo-consumer&check=false&codec=dubbo&dubbo=2.1.5&heartbeat=60000&interface=com.alibaba.dubbo.demo.DemoService&loadbalance=roundrobin&methods=sayHello&monitor=dubbo%3A%2F%2F192.168.74.70%3A2181%2Fcom.alibaba.dubbo.registry.RegistryService%3Fapplication%3Ddemo-consumer%26dubbo%3D2.1.5%26pid%3D4732%26protocol%3Dregistry%26refer%3Ddubbo%253D2.1.5%2526interface%253Dcom.alibaba.dubbo.monitor.MonitorService%2526pid%253D4732%2526timestamp%253D1693150921489%26registry%3Dzookeeper%26timestamp%3D1693150921477&pid=4732&revision=2.1.5&timestamp=1693150921416) failed to connect to server /192.168.1.220:20880, error message is:connection timed out, dubbo version: 2.1.5, current host: 192.168.74.66

查看日志连不不上zk
首先telnet zk 地址发现能通
再次查看日志说在连接192.168.1.220 erro
因为配置了二个网卡 eth0 为192.168.1.0/24
eth1为192.168.74.0/24,zk和生产者都是74网段,但却走了eth0网卡,在消费者和生产者禁用eth0网卡后重启正常
微服务dubbo和nexus,微服务,dubbo,架构

chatgpt 方法
根据错误信息,导致这个异常的原因是服务中心中没有可用的提供者(provider)来提供名为 "com.alibaba.dubbo.demo.DemoService" 的服务。下面是一些可能的原因:

1. 服务提供者没有正确启动或注册到服务中心。
2. 服务中心(zookeeper)的地址或配置不正确,导致注册失败。
3. 消费者端的网络连接问题,无法和服务中心进行通信。
4. 消费者端的版本不匹配,可能与服务端版本不兼容。

要解决这个问题,你可以尝试以下步骤:

1. 检查服务提供者是否已经正确启动,并确保它已经成功注册到服务中心。
2. 检查服务中心的地址和配置是否正确,确保消费者能够正确连接到服务中心。
3. 检查网络连接是否正常,确保消费者和服务中心之间能够相互通信。
4. 确保消费者端使用的 Dubbo 版本与提供者端一致,或者尝试更新消费者端的版本以解决兼容性问题。

如果问题仍然存在,请根据具体情况进行进一步的调试和排查。

再启动一个生产者

消费者会轮询调用生产者,
生产者挂了,会取消调用挂了的生产者

dubboadmin

机器 192.168.74.68

下载上传tomcat
root@ubuntu20:/apps# tar -xf apache-tomcat-9.0.59.tar.gz 
root@ubuntu20:/apps# ls
进入webapps目录
root@ubuntu20:/apps/apache-tomcat-9.0.59/webapps# 
上传dubboadmin.war解压
mv /apps/dubboadmin.war  .

root@ubuntu20:/apps/apache-tomcat-9.0.59/webapps# unzip dubboadmin.war 


修改配置添加zk集群地址
cat /apps/apache-tomcat-9.0.59/webapps/dubboadmin/WEB-INF/dubbo.properties 
dubbo.registry.address=zookeeper://192.168.74.70:2181| zookeeper://192.168.74.71:2181 | zookeeper://192.168.74.72:2181
dubbo.admin.root.password=root  #登录用户和密码均为root
dubbo.admin.guest.password=guest

启动
root@node4:/apps/apache-tomcat-9.0.59# ./bin/catalina.sh start

微服务dubbo和nexus,微服务,dubbo,架构

java
专栏收录该内容
18 篇文章0 订阅
订阅专栏
dubbo-admin访问报404的错误主要有三方面:

1、zookeeper,没有提前启动;

2、防火墙没有关闭;

3、jdk版本过高,dubbo-admin不匹配;

这里主要针对第三个(版本不匹配进行讲解)进行讲解:

前提条件:1、zookeeper安装完毕;2、jdk8安装完毕;3、Tomcat安装完毕;4、maven安装完毕;参考: https://blog.csdn.net/weixin_38313970/article/details/89814286/

我这里dubbo版本2.1.5,排查后是jdk版本过高,
apt autoremove openjdk-11-jdk
apt install openjdk-8-jdk

微服务dubbo和nexus,微服务,dubbo,架构
路径问题,加dubboadmin
微服务dubbo和nexus,微服务,dubbo,架构

微服务编译

机器 192.168.74.69

#Github 地址:
https://github.com/apache/dubbo-admin/blob/develop/README_ZH.md

如果遇到了网络问题,可以设置npm代理镜像来加速npm install的过程:
在~/.npmrc中增加 registry=https://registry.npmmirror.com
root@node6:~# cat .npmrc
registry=https://registry.npmmirror.com

下载代码
root@node6:~# apt install git

git clone https://github.com/apache/dubbo-admin.git

  1. 在 dubbo-admin-server/src/main/resources/application.properties中指定注册中心kafka集群的地址,我这里写一个地址
    root@node6:~/dubbo-admin# vim dubbo-admin-server/src/main/resources/application.properties
    admin.registry.address=zookeeper://192.168.71.70:2181
    admin.config-center=zookeeper://192.168.74.71:2181
    admin.metadata-report.address=zookeeper://192.168.74.71:2181

3.安装maven 编译

 apt install maven -y 
root@server02:~# mvn -v 
Apache Maven 3.6.3
Maven home: /usr/share/maven
Java version: 11.0.20, vendor: Ubuntu, runtime: /usr/lib/jvm/java-11-openjdk-amd64
Default locale: en_US, platform encoding: UTF-8
OS name: "linux", version: "5.15.0-73-generic", arch: "amd64", family: "unix"

配置为阿里云镜像,就会去阿里云下载maven包

 vi /etc/maven/settings.xml

<mirror>
  <id>aliyun</id>
  <name>Aliyun Maven Mirror</name>
  <url>https://maven.aliyun.com/repository/public</url>
  <mirrorOf>central</mirrorOf>
</mirror>

mvn clean package -Dmaven.test.skip=true

编译报错

[INFO] -------------------------------------------------------------
[ERROR] COMPILATION ERROR : 
[INFO] -------------------------------------------------------------
[ERROR] /root/dubbo-admin/dubbo-admin-server/src/main/java/org/apache/dubbo/admin/config/SwaggerConfiguration.java:[29,52] cannot find symbol
  symbol:   class EnableSwagger2
  location: package springfox.documentation.swagger2.annotations
[ERROR] /root/dubbo-admin/dubbo-admin-server/src/main/java/org/apache/dubbo/admin/config/SwaggerConfiguration.java:[32,2] cannot find symbol
  symbol: class EnableSwagger2
[INFO] 2 errors 
[INFO] -------------------------------------------------------------
[INFO] ------------------------------------------------------------------------
[INFO] Reactor Summary for dubbo-admin 0.5.0-SNAPSHOT:
[INFO] 
[INFO] dubbo-admin ........................................ SUCCESS [01:20 min]
[INFO] dubbo-admin-ui ..................................... SUCCESS [01:28 min]
[INFO] dubbo-admin-server ................................. FAILURE [ 11.558 s]
[INFO] dubbo-admin-distribution ........................... SKIPPED
[INFO] dubbo-admin-test ................................... SKIPPED
[INFO] ------------------------------------------------------------------------
[INFO] BUILD FAILURE
[INFO] ------------------------------------------------------------------------
[INFO] Total time:  03:00 min
[INFO] Finished at: 2023-08-29T10:14:30+08:00
[INFO] ------------------------------------------------------------------------
[ERROR] Failed to execute goal org.apache.maven.plugins:maven-compiler-plugin:3.6.0:compile (default-compile) on project dubbo-admin-server: Compilation failure: Compilation failure: 
[ERROR] /root/dubbo-admin/dubbo-admin-server/src/main/java/org/apache/dubbo/admin/config/SwaggerConfiguration.java:[29,52] cannot find symbol
[ERROR]   symbol:   class EnableSwagger2
[ERROR]   location: package springfox.documentation.swagger2.annotations
[ERROR] /root/dubbo-admin/dubbo-admin-server/src/main/java/org/apache/dubbo/admin/config/SwaggerConfiguration.java:[32,2] cannot find symbol
[ERROR]   symbol: class EnableSwagger2
[ERROR] -> [Help 1]
[ERROR] 
[ERROR] To see the full stack trace of the errors, re-run Maven with the -e switch.
[ERROR] Re-run Maven using the -X switch to enable full debug logging.
[ERROR] 
[ERROR] For more information about the errors and possible solutions, please read the following articles:
[ERROR] [Help 1] http://cwiki.apache.org/confluence/display/MAVEN/MojoFailureException
[ERROR] 
[ERROR] After correcting the problems, you can resume the build with the command
[ERROR]   mvn <args> -rf :dubbo-admin-server

这个是代码或者配置文件的问题,github的pom.xml配置文件更新才几天,过几天重新clone编译成功了

java -jar /apps/dubbo-admin/dubbo-admin-distribution/target/dubbo-admin-0.7.0-SNAPSHOT.jar

chatgpt

这个错误是由于在你的代码中找不到"EnableSwagger2"类引起的。"EnableSwagger2"是一个注解,用于启用Swagger API文档生成。在你的代码中,可能缺少了相关的依赖或者没有正确导入该注解所在的包。

要解决这个问题,你可以尝试以下几个步骤:

1. 确保你的项目中已经添加了Swagger相关的依赖。你可以在项目的pom.xml文件中查看是否包含了正确的依赖配置。

2. 检查你的代码中是否正确导入了"EnableSwagger2"注解所在的包。你可以在代码中添加import语句来导入该注解所在的包。

3. 如果以上步骤都没有解决问题,你可以尝试更新或更换"Maven Compiler Plugin"的版本。有时候,不同版本的插件可能会导致编译错误。

希望这些步骤能够帮助你解决这个编译错误。如果问题仍然存在,请提供更多的错误信息或代码片段,以便我能够更好地帮助你
。

根据你提供的代码文件,我可以看到你已经在`SwaggerConfiguration`类上使用了`@EnableSwagger2`注解来启用Swagger API文档生成。这意味着你的代码已经正确导入了`EnableSwagger2`注解所在的包。

在你的代码中,你可以看到以下import语句:

```java
import org.springframework.context.annotation.EnableSwagger2;

这个import语句导入了EnableSwagger2注解所在的包。因此,你的代码已经正确导入了该注解所在的包。

如果你仍然遇到关于EnableSwagger2类找不到的错误,请确保你的项目中已经添加了正确的依赖,并且依赖的版本与你的代码兼容。你可以检查项目的pom.xml文件中是否包含了类似以下的依赖配置:

<dependency>
    <groupId>io.springfox</groupId>
    <artifactId>springfox-swagger2</artifactId>
    <version>2.9.2</version>
</dependency>

希望这能帮助你理解如何在代码中导入EnableSwagger2注解所在的包。如果你还有其他问题,请随时提问。

访问http://120.79.60.104:38080/#/,默认用户名和密码root
微服务dubbo和nexus,微服务,dubbo,架构

怎么区分环境
sed
配置文件地址写好

目前的java服务,大部分是通过maven编译
1.16C32G 配置jdk环境
2.安装maven
3.结合jenkins编译
4. 将编译好的jar包进行代码部署(target目录下),k8s环境要重新打镜像

nexus

微服务dubbo和nexus,微服务,dubbo,架构

下载,解压,做软 链接
wget https://download.sonatype.com/nexus/3/nexus-3.59.0-01-unix.tar.gz

root@server02:/apps# ln -sf /apps/nexus-3.59.0-01 /apps/nexus文章来源地址https://www.toymoban.com/news/detail-685955.html

到了这里,关于微服务dubbo和nexus的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • dubbo概念及基本架构

    一. Dubbo概念 1、Dubbo是一个开源的高性能,轻量级的Java RPC框架 RPC:远程服务调用 2、RPC的远程服务调用和SOA的服务治理两种功能。 二. Dubbo架构 0、服务提供方首先启动 1、服务提供方启动后,将其注射到注册中心里 2、消费者想调用提供者的服务,消费者首先向注册中心要

    2024年02月15日
    浏览(76)
  • Dubbo 核心概念和架构

    目录 一、Dubbo 数据面     1、服务开发框架     2、通信协议 二、Dubbo 服务治理     1、服务治理抽象     2、Dubbo Admin     3、服务网格 以上是 Dubbo 的工作原理图,从抽象架构上分为两层: 服务治理抽象控制面  和  Dubbo 数据面  。 服务治理控制面 。服务治理控制面不

    2024年02月12日
    浏览(44)
  • Dubbo1-架构的演变

    项目:传统项目、互联网项目 传统项目: 一般为公司内部使用,或者小群体小范围的使用,一般不要求性能,美观,并发等 互联网项目的特点: 1.用户多 2.流量大,并发高 3.海量数据 4.易受攻击 5.功能繁琐 6.变更快 衡量网站的性能指标: 响应时间:指执行一个请求从开始

    2024年02月13日
    浏览(41)
  • 应用架构演变过程、rpc及Dubbo简介

            单一应用架构 - 垂直应用架构 - 分布式服务架构 - 微服务架构。 单一应用架构         当网站流量很小时,只需一个应用,将所有功能都部署在一起,以减少部署节点和成本。 此时,用于简化增删改查工作量的 数据访问框架(ORM) 是关键。         缺点:

    2024年02月02日
    浏览(52)
  • 深入浅出:理解 RPC 和 Dubbo 架构

    Apache Dubbo是一款高性能的Java RPC框架.其前身是阿里巴巴公司开源的一个高性能,轻量级的开源Java RPC框架,可以和Spring框架无缝集成. Dubbo 官网 RPC介绍 Remote Procedure Call 远程过程调用,是分布式架构的核心,按响应方式分以下两种: 同步调用:客户端调用服务方方法,等待直到服务方返

    2023年04月12日
    浏览(55)
  • 在Maven中发布项目到Nexus私有服务器

    Sonatype Nexus 3.61.0-02 Maven 3.9.2 运行完成后可以在nexus看到已经上传上来了

    2024年02月06日
    浏览(48)
  • Dubbo 指定调用固定ip+port dubbo调用指定服务 dubbo调用不随机 dubbo自定义调用服务 dubbo点对点通信 dubbo指定ip

    1. 在写分布式im时nami-im: 分布式im, 集群 zookeeper netty kafka nacos rpc主要为gate(长连接服务) logic (业务) lsb (负载均衡)store(存储) - Gitee.com,需要指定某一长连接服务调用,其他博客得都调不通,写的有问题。要不就是通过xml进行配置,本文主要是以代码形式,调用前 配

    2024年02月15日
    浏览(47)
  • 【Dubbo核心 详解三】Dubbo服务接口的详解

    ✅创作者:陈书予 🎉个人主页:陈书予的个人主页 🍁陈书予的个人社区,欢迎你的加入: 陈书予的社区 🌟专栏地址: Dubbo专栏 本文将介绍 Dubbo 服务接口的基本概念和特点,实现方式和应用场景,以及注册与发现、调用、属性和参数、异常处理、日志和监控、高级特性、微

    2023年04月24日
    浏览(82)
  • Dubbo 3.x源码(16)—Dubbo服务发布导出源码(5)

    基于Dubbo 3.1,详细介绍了Dubbo服务的发布与引用的源码。 此前我们学习了Dubbo 3.x源码(15)—Dubbo服务发布导出源码(4),也就是Dubbo远程服务导出export方法的上半部分,也就是doLocalExport源码,将会得到一个Exporter。 现在我们继续学习,在导出远程服务得到Exporter之后,继续通过R

    2024年01月25日
    浏览(47)
  • 【Dubbo3云原生微服务开发实战】「Dubbo前奏导学」 RPC服务的底层原理和实现

    Dubbo是一款高效而强大的RPC服务框架,它旨在解决微服务架构下的服务监控和通信问题。该框架提供了Java、Golang等多语言的SDK,使得使用者可以轻松构建和开发微服务。Dubbo具备远程地址发现和通信能力,可通过Dubbo独有的身临其境的服务治理特验为主导,以提高开发人员的功

    2024年02月05日
    浏览(49)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包