微服务dubbo

微服务是一种软件开发架构风格,它将一个应用程序拆分成一组小型、独立的服务,每个服务都可以独立部署、管理和扩展。每个服务都可以通过轻量级的通信机制(通常是 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工具查看已经注册成功
在这里插入图片描述
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.propertiesdubbo.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

在这里插入图片描述

消费者启动不了

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网卡后重启正常
在这里插入图片描述

chatgpt 方法
根据错误信息,导致这个异常的原因是服务中心中没有可用的提供者(provider)来提供名为 "com.alibaba.dubbo.demo.DemoService" 的服务。下面是一些可能的原因:1. 服务提供者没有正确启动或注册到服务中心。
2. 服务中心(zookeeper)的地址或配置不正确,导致注册失败。
3. 消费者端的网络连接问题,无法和服务中心进行通信。
4. 消费者端的版本不匹配,可能与服务端版本不兼容。要解决这个问题,你可以尝试以下步骤:1. 检查服务提供者是否已经正确启动,并确保它已经成功注册到服务中心。
2. 检查服务中心的地址和配置是否正确,确保消费者能够正确连接到服务中心。
3. 检查网络连接是否正常,确保消费者和服务中心之间能够相互通信。
4. 确保消费者端使用的 Dubbo 版本与提供者端一致,或者尝试更新消费者端的版本以解决兼容性问题。如果问题仍然存在,请根据具体情况进行进一步的调试和排查。

再启动一个生产者

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

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/55913.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Cookie for Mac:隐私保护工具保护您的在线隐私

随着互联网的发展,我们每天都会浏览各种网站,享受在线购物、社交娱乐和学习资料等各种便利。然而,您是否曾经遇到过需要频繁输入用户名和密码的情况?或者不方便访问您常用的网站?如果是这样,那么Cookie for…

pytest

1.安装 pip install pytestpytest官网:https://docs.pytest.org/en/stable/ 2.编写规则 1.测试文件已test开头(或以test结尾) 2.测试类以Test开头,并且不能带有init方法 3.测试函数以test开头 4.断言使用基本的assert即可 3.p…

基于树莓派设计的酒店房间号智能识别系统(图像识别)

基于树莓派4B设计的酒店房间号智能识别系统(图像识别) 一、设计需求 酒店房间识别系统的主要目的是:通过图像处理技术,以机器视觉的方式识别光学传感器传回的酒店房间图像中的数字,该系统可以以非接触的方式,以图像的方式获得需要的酒店房间读数,这能极大提高老式的酒店房…

Matlab图像处理-乘法运算

乘法运算 两幅图像进行乘法运算主要实现两个功能: 一是可以实现掩模操作,即屏蔽图像的某些部分; 二是如果一幅图像乘以一个常数因子,如果常数因子大于1,将增强图像的亮度,如果因子小于1则会使图像变暗。…

NGINX相关配置

NGINX相关配置 NGINX配置信息 nginx 官方帮助文档:http://nginx.org/en/docs/Nginx的配置文件的组成部分: 主配置文件:/conf/nginx.conf(/nginx/conf/nginx.conf) 子配置文件: include conf.d/*.conf#事件驱动相关的配置 同步 event { wo…

MySQL表的增删改查

文章目录 MySQL表的增删改查1. Create1.1 单行数据插入1.2 多行数据插入1.3 插入否则更新1.4 替换 2. Retrieve2.1 SELECT 列2.1.1 全列查询2.1.2 指定列查询2.1.3 查询字段为表达式2.1.4 为查询结果指定别名2.1.5 结果去重 2.2 WHERE 条件2.2.1 英语不及格的同学及英语成绩(&l…

〔017〕Stable Diffusion 之 常用模型推荐 篇

✨ 目录 🎈 模型网站🎈 仿真系列🎈 国风系列🎈 卡通动漫系列🎈 3D系列🎈 一些好用的lora模型 🎈 模型网站 由于现在大模型超级多,导致每种画风的模型太多,那么如何选择最…

软年架构复用-架构师之路(十一)

软件架构复用 软件产品线是 一组产业密集型系统,规定用公用的 核心资产集成 开发而来。 机会复用 和 系统复用。 机会复用:临时发现有可服用资产立马复用。 系统复用:开发之前进行规划好哪些需要复用。 复用的三个阶段: 获取到…

Compressor For Mac强大视频编辑工具 v4.6.5中文版

Compressor for Mac是苹果公司推出的一款视频压缩工具,可以将高清视频、4K视频、甚至是8K视频压缩成适合网络传输或存储的小文件。Compressor支持多种视频格式,包括H.264、HEVC、ProRes和AVC-Intra等,用户可以根据需要选择不同的压缩格式。 …

CSS笔记

介绍 CSS导入方式 三种方法都将文字设置成了红色 CSS选择器 元素选择器 id选择器 图中div将颜色控制为红色,#name将颜色控制为蓝色,谁控制的范围最小,谁就生效,所以第二个div是蓝色的。id属性值要唯一,否则报错。 clas…

Failed to load ApplicationContext解决办法,spring版本问题

有如下报错: "D:\Program Files\Java\jdk-13.0.1\bin\java.exe" -agentlib:jdwptransportdt_socket,address127.0.0.1:7325,suspendy,servern -ea -Didea.test.cyclic.buffer.size1048576 -Dfile.encodingUTF-8 -classpath "D:\Program Files\JetBr…

【Linux】深入理解文件操作

文章目录 初次谈论文件重温C语言文件操作系统文件操作接口openwriteread 再次谈论文件文件描述符文件描述符的分配规则 重定向什么是重定向重定向的本质系统调用接口实现重定向<、>、>> 初次谈论文件 开始之前先谈论一下关于文件的一些共识性问题。 一个文件可以…

wxpython + cef 是优秀的 WebView 组件

CEF 即 (Chromium Embedded Framework)&#xff1b;cef 是优秀的 WebView 组件。 pip install wxpython4.2 wxPython-4.2.0-cp37-cp37m-win_amd64.whl (18.0 MB) Successfully installed wxpython-4.2.0 pip install cefpython3 cefpython3-66.1-py2.py3-none-win_amd64.whl …

C++学习记录——이십팔 C++11(4)

文章目录 包装器1、functional2、绑定 这一篇比较简短&#xff0c;只是因为后要写异常和智能指针&#xff0c;所以就把它单独放在了一篇博客&#xff0c;后面新开几篇博客来写异常和智能指针 包装器 1、functional 包装器是一个类模板&#xff0c;对可调用对象类型进行再封装…

江西抚州新能源汽车3d扫描零部件逆向抄数测量改装-CASAIM中科广电

汽车改装除了在外观方面越来越受到消费者的青睐&#xff0c;在性能和实用性提升上面的需求也是日趋增多&#xff0c;能快速有效地对客户指定汽车零部件进行一个改装&#xff0c;是每一个汽车改装企业和工程师的追求&#xff0c;也是未来消费者个性化差异化的要求。下面CASAIM中…

Fei-Fei Li-Lecture 16:3D Vision 【斯坦福大学李飞飞CV课程第16讲:3D Vision】

目录 P1 2D Detection and Segmentation​编辑 P2 Video 2D time series P3 Focus on Two Problems P4 Many more topics in 3D Vision P5-10 Multi-View CNN P11 Experiments – Classification & Retrieval P12 3D Shape Representations P13--17 3D Shape Rep…

好用的可视化大屏适配方案

1、scale方案 优点&#xff1a;使用scale适配是最快且有效的&#xff08;等比缩放&#xff09; 缺点&#xff1a; 等比缩放时&#xff0c;项目的上下或者左右是肯定会有留白的 实现步骤 <div className"screen-wrapper"><div className"screen"…

同源策略以及SpringBoot的常见跨域配置

先说明一个坑。在跨域的情况下&#xff0c;浏览器针对复杂请求&#xff0c;会发起预检OPTIONS请求。如果服务端对OPTIONS进行拦截&#xff0c;并返回非200的http状态码。浏览器一律提示为cors error。 一、了解跨域 1.1 同源策略 浏览器的同源策略&#xff08;Same-Origin Po…

06.sqlite3学习——DQL(数据查询)(全)

目录 SQLite——DQL&#xff08;数据查询&#xff09; 数据集 select语句 条件查询 比较 确定范围 确定集合 like 查询记录 查询不重复的记录 排序和限制 排序 限制 聚合 聚合函数 语法 SQLite Group By详解 语法 实例 SQLite Having 子句 语法 实例 多…

[JavaWeb]【十一】web后端开发-SpringBootWeb案例(登录)

目录 一、登录功能 1.1 思路 1.2 LoginController 1.3 EmpService 1.4 EmpServiceImpl 1.5 EmpMapper 1.6 启动服务-测试 1.7 前后端联调 二、登录校验&#xff08;重点&#xff09; 2.1 问题 2.2 问题分析 2.3 登录校验​编辑 2.4 会话技术 2.4.1 会话技术 2.4.2 …