自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(189)
  • 收藏
  • 关注

原创 dubbo RPC协议

triple,基于HTTP/1、HTTP/2的高性能通讯协议,100%兼容gRPC,支持Unary、Streming等通讯模式;支持发布REST风格的HTTP服务。dubbo,基于TCP的功性能私有通讯协议,确定是通用性较差,更合适在Dubbo SDK间使用。任意协议扩展,通过扩展protocol可以支持任意RPC协议,官方生态提供JsonRPC、thrift等支持。

2025-04-02 18:56:31 963

原创 Dubbo 框架内置的并发控制策略

Dubbo 通过 Filter 拦截器机制,内置了并发控制策略实现。限制从同一客户端到同一服务的并发请求数,防止恶意请求使服务器过载,确保服务的稳定性,并防止使用过多资源。控制某些服务的最大并发请求数,确保其他服务的资源可用性。系统过载和确保系统稳定性。允许在需求增加时更平滑地扩展服务。确保服务在高峰使用时间保持可靠和稳定。注意。

2025-03-30 20:17:56 409

原创 dubbo http流量接入dubbo后端服务

dubbo协议是基于TCP的二进制私有协议,更适合作为后端微服务间的高效RPC通信协议,也导致dubbo协议对于前端流量接入不是很友好。多协议发布【推荐】,为dubbo协议服务暴露rest风格的http协议访问方式。通过网关实现 http->dubbo协议转换,这种方式需要将http协议转换为后端服务能识别的dubbo协议,要求网关必须支持dubbo协议。

2025-03-28 22:14:31 558

原创 dubbo自定义扩展

在META-INF/dubbo/org.apache.dubbo.rpc.Filter文件中添加以下配置。对于Provider服务中dubbo接口以Service结尾的,返回结果添加。在Provider中自定义一个Filter,在Filter中修改返回结果。配置激活Filter之外,还可以通过为实现类增加。注解,已在满足某些条件时自动激活Filter实现。

2025-03-27 21:12:06 131

原创 dubbo服务降级-Mock

如果使用Stub,可能就需要捕获并依赖RpcException类,而用Mock就可以不依赖RpcException,因为它的约定就是只有出现RpcException时才执行。因经常需要再出现RpcException(比如网络失败、超时等)时进行容错,而在出现业务异常(比如登录时密码不对登)时不需要容错,为了避免出现这种直接抛出异常的情况出现,那么客户端就可以利用本地伪装来提供Mock数据返回授权失败。比如某验权服务,当服务提供方全部挂机后,服务消费方发起远程调用时,将会失败并抛出一个。

2025-03-24 16:19:31 559

原创 Dubbo集群容错

并行调用多个服务器,只要一个成功即返回。通常用于实时性要求较高的读操作,但需要浪费更多服务资源。广播调用所有提供者,逐个调用,任意一台报错则报错,通常用于通知所有提供者更新缓存或日志等本次资源信息。自动失败切换,当出现失败,重试其它服务器。通常用于读操作,但重试会带来更长延迟。快速失败,只发起一次调用,失败立即报错,通常用于非幂等性的写操作,比如新增记录。失败自动恢复,后台记录失败请求,定时重发,通常用于消息通知操作。失败安全,出现异常时,直接忽略。在集群调用失败时,Dubbo提供了多种容错方案,缺省为。

2025-03-23 20:00:16 276

原创 调用链路传递隐式参数

在不修改方法签名与参数定义的情况下,可以通过 RpcContext 上的 setAttachment 和 getAttachment 在服务消费方和提供方之间进行参数的隐式传递。注意RpcContext 被拆分为四大模块(ServerContext、ClientAttachment、ServerAttachment 和 ServiceContext)。

2025-03-22 23:05:17 399

原创 dubbo版本与分组

Dubbo服务中,接口并不能唯一确定一个服务,只有 接口+分组+版本号 的三元组才能唯一确定一个服务。

2025-03-22 20:09:42 375

原创 dubbo异步调用

dubbo服务异步调用

2025-03-22 19:19:12 437

原创 error:0308010C:digital envelope routines::unsupported

error:0308010C:digital envelope routines::unsupported

2025-03-17 21:39:28 324

原创 INSERT ... ON DUPLICATE KEY UPDATE

INSERT ... ON DUPLICATE KEY UPDATE存在的问题

2025-03-15 16:56:37 559

原创 redis删除与先判断再删除的区别

redis直接删除与先判断存在后再删除的区别

2025-03-15 16:54:51 539

原创 dubbo服务搭建

dubbo服务创建

2025-03-11 20:22:10 376

原创 docker-compose安装rocketmq

docker-compose安装rocketmq

2024-12-05 20:16:56 933

原创 堆排序算法

堆排序

2024-11-11 23:41:31 142

原创 数组中的第 K 个最大元素

数组中的第 K 个最大元素

2024-11-06 23:41:33 96

原创 快速排序2.0

快速排序

2024-11-04 21:19:18 132

原创 计算数组的小和

数组 s = [1, 3, 5, 2, 4, 6] ,在 s[0] 的左边小于或等于 s[0] 的数的和为 0 ; 在 s[1] 的左边小于或等于 s[1] 的数的和为 1 ;在 s[2] 的左边小于或等于 s[2] 的数的和为 1+3=4 ;在 s[3] 的左边小于或等于 s[3] 的数的和为 1 ;在 s[4] 的左边小于或等于 s[4] 的数的和为 1+3+2=6 ;在 s[5] 的左边小于或等于 s[5] 的数的和为 1+3+5+2+4=15 。所以 s 的小和为 0+1+4+1+6+15=27

2024-10-28 23:31:35 277 1

原创 归并排序 - 非递归实现

归并排序 非递归实现

2024-10-23 23:03:30 170

原创 归并排序-递归版

归并排序递归实现

2024-10-22 22:42:05 93

原创 设计循环双端队列

使用数组 设计循环双端队列

2024-10-15 18:05:41 532

原创 使用栈实现队列

请你仅使用两个栈实现先入先出队列。队列应当支持一般队列支持的所有操作(push、pop、peek、empty):

2024-10-14 17:55:53 178

原创 队列实现栈

请你仅使用两个队列实现一个后入先出(LIFO)的栈,并支持普通栈的全部四种操作(push、top、pop 和 empty)。

2024-10-14 17:52:53 178

原创 leetcode-分割链表

【代码】leetcode-分割链表。

2024-10-11 21:56:13 204

原创 两数相加Java

两数之和 https://leetcode.cn/problems/add-two-numbers/description/

2024-10-09 23:52:55 224

原创 Access denied for user ‘root‘@‘114.254.154.110‘ (using password: YES)

Access denied for user 'root'@'114.254.154.110' (using password: YES)

2024-09-21 20:22:24 361

原创 有序链表合并

有序链表合并

2024-09-19 22:31:51 171

原创 单链表反转

单链表反转

2024-09-19 22:30:16 131

原创 单链表反转

单链表反转

2024-09-16 16:26:15 140

原创 SpringBoot使用QQ邮箱发送邮件

springboot使用QQ邮箱发送邮件

2024-09-05 09:41:39 747

原创 docker配置国内镜像

【代码】docker配置国内镜像。

2024-09-04 20:50:36 797

原创 自定义类加载器

【代码】自定义类加载器。

2024-08-18 02:41:01 149

原创 解密JVM崩溃(Crash)-学习笔记

代码异常日志头部信息崩溃日志详解文件路径Java程序崩溃时,默认在当前进程运行目录下生成hs_err_pid进程PID.log日志文件。自定义文件生成位置:-XX:ErrorFile=/Users/zzw/Documents/sourcecode/jvmdir/hs_err_pid%p.log需要注意的是,如果由于一些异常原因在工作目录无法存储(比如写入权限不足),则该文件会被存储在操作系统的临时目录下。在Linux操作系统环境下,这个地址是****。崩溃日志包含系统崩溃时获取到的相关信息,包括但不

2024-08-18 00:09:24 1648

原创 接口优化笔记

比如要查询一个人的全量信息,而这个人的全量信息保存在不同的服务中,比如用户服务、积分服务、成长值服务中时,可以通过一个关键数据,比如用户的id同时去这三个服务中进行查询,查询后进行汇总。当要查询的数据量比较大时,可能会因为网路宽度的原因,导致查询的出现。对于一个接口中的非业务操作,比如用户操作记录、积分记录等不需要实时处理看到结果的,可以进行异步处理,减轻系统的压力,加快业务操作的响应。可以使用线程池进行非业务操作的处理,但可能会因为操作的异常、服务的异常(重启)导致操作的丢失,造成数据的丢失。

2024-08-15 19:08:15 618

原创 运行时数据区

对于每一个线程,在Java堆上都有一块私有的内存区域,叫做TLAB(Thread Local Allocation Buffer)线程本地分配缓存,用于新生成对象的分配。当一个对象进过逃逸分析,确定对象的作用域只在方法内,不会被其它方法获取到时,会使用标量替换,将对象分解成一个个的属性值,直接分配到栈上,等方法执行完成,栈帧销毁时,顺便将对象一块销毁,减少垃圾回收的工作量。Java Heap,Java虚拟机中内存最大的一块,是线程共享的,几乎所有的对象实例都会在这里进行分配。

2024-08-11 15:54:06 456

原创 Metaspace溢出模拟

Metapsace

2024-08-10 11:01:03 336

原创 visualvm启动报错

3.设置当前的JDK目录。1.应用程序窗口选中。

2024-07-28 19:08:38 518

原创 存在数组arr,其中有N个数,每个数出现偶数次,存在2个数,每个数出现了奇数次。找到这两个出现奇数次的数

存在数组arr,其中有N个数,每个数出现偶数次,存在2个数,每个数出现了奇数次。找到这两个出现奇数次的数

2024-07-28 19:01:44 274

原创 存在数组arr,其中有N个数,每个数出现偶数次,存在2个数,每个数出现了奇数次。找到这两个出现奇数次的数

存在数组arr,其中有N个数,每个数出现偶数次,存在2个数,每个数出现了奇数次。找到这两个出现奇数次的数

2024-06-19 22:16:01 126

原创 maven 打包 jar中没有主清单属性

jar中没有主清单属性

2024-06-13 14:10:45 253

为服务接口性能优化学习笔记

接口性能优化

2024-08-15

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除