初次学习dubbo记录

---------------------------------------10.17----------------------------------------

集群和分布式概念


集群:很多"人"做的相同的一件事,即使有一个人挂掉了,也不会对系统造成致命影响

分布式:很多"人"做的不相同的一件事,,合起来却是一件大事情,效率会提升。

集群:一个业务模块,同时部署在多个饿服务器上

分布式:一个大的业务拆分成多个小的业务模块,每一个小的业务模块部署在不同机器上(微服务)

架构演变

单体架构->垂直架构->分布式架构->SOA架构->微服务架构

分布式架构

把公共模块从垂直架构中抽离出来,形成独立的服务,让其他的项目来消费

消费者调用公共模块(远程服务),使用的是rpc

分布式的缺点:在分布式架构中,如果服务的地址变了,那么所有调用该服务的消费者都需要随之变更

SOA架构

在分布式基础上,添加了ESB组件,作为调度中心

微服务架构

在soa架构上的一个升华,将原来的单个业务系统拆分成多个单独的,可以独立开发的,设计,运行的小应用,这些小的应用通过服务来完成交互和集成

---------------------------------------10.18----------------------------------------

高级特性

序列化

生产者将需要传给消费者的对象序列化成流,但是同样的消费者也需要反序列化,导致两边都需要创建对象并实现序列化接口。

所以会将这个公用对象抽取出来放在一个公共模块中。

地址缓存

当注册中心zk挂掉了,仍然可以正常调用服务,因为在第一次从zk调用之后会进行一个地址缓存,每次去调用服务便不需要与zk进行交互,只有当提供者更改了地址zk会通知消费者

超时与重试

---------------------------------------10.17----------------------------------------

超时机制,如果一直连接不上的话太耗费资源,所以设置了超时机制。

建议在@reference(timeout = 3000)

也就是在服务提供者里面设置超时时间

重试机制:

多版本

发布新的版本时,并不是让所有消费者全部更新使用,而是先让部分的消费者使用,测试到版本稳定后再进行全部版本迁移

dubbo中使用version属性来设置和调用同一个接口到不同版本

服务提供者的注解@service(dubbo包下的service)

远程调用服务的注解@reference

负载均衡

在调用时选择负载均衡策略

@reference(loadbalance="")

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

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

相关文章

ruoyi vue前后端分离功能介绍

文章目录 内置功能:用户管理:部门管理:岗位管理:菜单管理:角色管理:字典管理:参数管理: 可以设置是否开启验证码功能通知公告:操作日志:登录日志:在线用户&am…

PAT 乙级1070结绳

题目: 给定一段一段的绳子,你需要把它们串成一条绳。每次串连的时候,是把两段绳子对折,再如下图所示套接在一起。这样得到的绳子又被当成是另一段绳子,可以再次对折去跟另一段绳子串连。每次串连后,原来两…

【ChatGPT系列】ChatGPT:创新工具还是失业威胁?

💝💝💝欢迎来到我的博客,很高兴能够在这里和您见面!希望您在这里可以感受到一份轻松愉快的氛围,不仅可以获得有趣的内容和知识,也可以畅所欲言、分享您的想法和见解。 推荐:kuan 的首页,持续学…

香港服务器如何做负载均衡?

​  在现代互联网时代,随着网站访问量的不断增加,服务器的负载也越来越重。为了提高网站的性能和可用性,负载均衡成为了一种常见的解决方案。 什么是负载均衡? 负载均衡是一种技术解决方案,用于在多个服务器之间分配负载&#…

【C】想练习C语言?通讯录的实现了解一下

目录 实现思路 开始实现 添加增加联系人功能 添加显示联系人信息的功能 添加删除联系人功能 添加查找指定联系人的功能 添加修改指定联系人的功能 测试 代码 Test.c Contact.c Contact.h 实现思路 1.通讯录中保存人的信息:名字、年龄、性别、电话、住址…

Winform 多语言化快速解析替换工具-1分钟一个界面

随着业务的扩展,有的软件有多语言化的需求。那么如果软件已经很多写死的文字内容如何快速进行语言化替换呢,一个一个去改工作量太大。 于是开发了个小工具用来替换现有内容并生成语音包,原理就是采用正则表达式进行匹配控件关键字以及中文进…

AS/400简介

AS400 AS400 简介AS/400操作系统演示 AS400 简介 在 AS400 中,AS代表“应用系统”。它是多用户、多任务和非常安全的系统,因此用于需要同时存储和处理敏感数据的行业。它最适合中级行业,因此用于制药行业、银行、商场、医院管理、制造业、分销…

使用FastAPI部署Ultralytics YOLOv5模型

YOLO是You Only Look Once(你只看一次)的缩写,它具有识别图像中的物体的非凡能力,在日常应用中会经常被使用。所以在本文中,我们将介绍如何使用FastAPI的集成YOLOv5,这样我们可以将YOLOv5做为API对外提供服务。 Python有几个web框…

CGAL+QT

先安装CGAL和QT 安装完QT其中MSVC 这两个没配置 1、x32配置选择的是 x64配置选择的是 2、CGAL 5.4.5 - Manual: Using CGAL on Windows (with Visual C) 参数文章配置一些环境变量 3、 测试 新建build 进行cmake QT、Boost、CGAL都自动匹配上了(环境变量已经配…

FastAPI框架学习笔记(快速入门FastAPI框架)

1. 写在前面 今天整理一篇后端框架的笔记, fastapi框架是比较主流的后端异步web框架,关键是python语言可以写,正好公司最近安排了一些后端服务的活, 所以就看了一个fastapi框架的入门课程(链接在底部),完成任务&#…

lua-web-utils和proxy设置示例

以下是一个使用lua-web-utils和proxy的下载器程序: -- 首先安装lua-web-utils库 local lwu require "lwu" ​ -- 获取服务器 local function get_proxy()local proxy_url "duoipget_proxy"local resp, code, headers, err lwu.fetch(proxy_…

后端实现大文件分片上传

项目框架 net6 webapi 放开上传大小限制 放开代码 | 框架层限制 在 Program.cs 文件中添加如下代码 不然会出现下面的限制错误 From表单限制:Failed to read the request form. Multipart body length limit 134217728 exceeded 请求体超长:Request bo…

Win10中Pro/E鼠标滚轮不能缩放该怎么办?

Pro/E安装好后,鼠标滚轮不能缩放模型,该怎么办?问题多发生在win8/win10上,新装了PROE,发现滑动鼠标中键不能放大缩小。 彩虹图纸管理软件_图纸管理系统_图纸文档管理软件系统_彩虹EDM【官网】彩虹EDM图纸管理软件系统…

【PyQt】调整子控件的层级以调整绘制的先后顺序

简述 qt中貌似没有直接设置z序的函数,但对应的有其他调整z序的方法: QWidget.raise_():置顶 QWidget.lower():置底 QWidget.stackUnder(wid):置于指定控件之下 其中关键函数是QWidget.stackUnder(wid),利…

Python---使用turtle模块+for循环绘制五角星---利用turtle(海龟)模块

首先了解涉及的新词汇,编程外国人发明的,所以大部分是和他们语言相关,了解对应意思,可以更好理解掌握。 import 英 /ˈɪmpɔːt/ n. 进口,进口商品;输入,引进;重要性;…

【Unity】3D跑酷游戏

展示 finish_all * 方块跑酷 1.教程链接 翻墙:https://www.youtube.com/watch?v9ZEu_I-ido4&listPLPV2KyIb3jR53Jce9hP7G5xC4O9AgnOuL&index3 2.基础制作 最终成果 2.1 基本场景 1.创建Cube作为跑道 1)记得把位置Reset; 2&#…

Linux部署Redis Cluster高可用集群(附带集群节点添加删除以及槽位分配操作详解)

目录 一、前言二、下载安装Redis2.1、选择需要安装的Redis版本2.2、下载并解压Redis2.3、编译安装Redis 三、部署Redis Cluster高可用集群3.1、准备配置文件3.2、启动Redis服务3.3、创建Redis集群3.4、查看集群关系3.5、连接集群Redis进行数据读写以及重定向测试3.6、故障转移和…

使用Scala和Sttp库编写爬虫程序

以下是一个使用Scala和Sttp库编写的视频爬虫程序,该程序使用了proxy来获取IP。请注意,这个示例需要在上找到一个具体的视频链接,然后将其传递给crawlVideo函数。 import scala.util.{Failure, Success} import scala.concurrent.{Future, Ex…

基于计算机视觉的坑洼道路检测和识别-MathorCup A(深度学习版本)

1 2023 年 MathorCup 高校数学建模挑战赛——大数据竞赛 赛道 A:基于计算机视觉的坑洼道路检测和识别 使用深度学习模型,pytorch版本进行图像训练和预测,使用ResNet50模型 2 文件夹预处理 因为给定的是所有图片都在一个文件夹里面&#xf…

安信可小安派AiPi 代码下载

安信可小安派AiPi 代码下载笔记记录 AiPi 代码下载(直接使用命令行操作,仅需要Type-C接口线即可) 在完成环境搭建,和代码编写前提下,使用Type-C接口线下载代码,当然可以自己使用usb-ttl串口线下载程序&am…