Skip to content

aygtech/chopsticks

Repository files navigation

1.0.1
	1.调整:接口负责统一,实现负责兼容,调整为可使用接口替换实现的代码
	2.优化:底层线程池名称业务化
1.0.2
	1.新增无桩化调用
1.0.3
	1.支持自定义延迟消息
1.0.4
	1.优化实现
	2.修改同步的id为自定义,不使用默认的id,同步超时更准确
1.0.5
	1.新增NoticeProxy扩展点
	2.调整modernClient实现继承原生client
	3.modern缓存bean
	4.延迟级别提供默认值,去除服务器依赖
	5.同步调用批量化,提升25%
	6.移除所有依赖
1.0.6
	1.同步调用默认为单个,batch仍需测试
	2.大幅提高启动速度和准确度
	3.同步调用准确判断有无消费者
	4.modern新增Picker接口,可定制化方法处理
1.0.7
	1.优化同步调用batch性能
1.0.8
	1.解决spirng与fastjson底层集成改写类找不到 bug
1.0.8.1
	1.修复多消费者延迟消息未到时重发导致重复消费的bug,先判断重发的消息是否为当前消费者时发出,不是的直接返回,不消费
1.0.8.2
	1.调整顺序消息消息重试为5秒一次
	2.修复cglib代理过的实现类获取不到原始对象接口的bug
1.0.8.3
	1.新增日志
1.0.9
	1.Picker 接口返回值破坏性更新,返回值从List改为Set
	2.优化订阅,改  tag * 为具体的tag,并且新增 消费组 独有 tag,改变延迟重发消息到独有 tag 上,减少其他组无效消费。
	      等版本上线稳定,并且原有延迟消息已经消费完毕,后期可以去掉 1.0.8.1 所作的事 TODO 等待原有延迟消费完毕
	3.调整同步回执处理消费者准备好以后才算启动完毕
1.1.0
	1.修复SdkNoticeContextAware不能继承的bug
	2.开放异步, 延迟异步, 顺序异步 重试次数设置, 默认重试次数为Integer.MAX_VALUE
	3.开放同步,异步,延迟异步,顺序异步 最大执行时间设置,默认 15 分钟
1.1.1
1.1.2
	1.调整默认日志输出为当前目录下,3个滚动文件,每个文件最大100MB
1.1.3
	1.完善异常体系
	2.破坏性升级,移除了ContextHolder接口,改为使用ModernContextHolder类的静态方法实现功能
	3.修改日志新增一个logs包
1.1.4
	1.新增traceNo功能
	2.新增extParams功能
1.1.4.1
	1.修复traceNo无法传递的bug
	2.所有的异步执行默认延迟1秒,避免当前业务还未提交,后续业务执行完毕
1.1.5
	1.extBean所有方法支持非阻塞调用
	2.sdkClient新增orgKey,uniKey默认传递
	3.修复extParams未传递bug
1.1.5.1
	1.开放同步批处理设置
	2.modern禁止数组调用和数组返回
	3.完善同步执行者或同步主题不存在时的报错信息
	4.修复Default.adminExt同一个实例启动多个的错误
1.1.6
	1.同步响应压缩,避免广播其他接收者收到无用的大报文
	2.新增UnSupport***4个接口,针对同步,无序异步,顺序异步,延迟异步可单独配置不支持的方法
	3.新增client设置服务端地址的接口
	4.新增ModernContextHodler获取reqTime接口
1.1.7
	1.每个方法都加监控,可以单独看最近的方法调用情况_method_
	2.reqId可作用监控,一来一回
	3.提高同步方法判断有无执行者存在, 精准度到方法级别,调整为全局静态属性
	4.修复同步方法执行完超时也回执了bug
	5.精简handler日志
	6.默认开启批量同步调用,批量时间默认为 100 毫秒
	7.SdkContextHolder新增方法isInvoke可以直接判断是否同步还是异步调用
	8.SdkContextHoder新增方法getSdkNoticeContext(), 此SdkNoticeContext可判断异步的类型,顺序还是延迟,包括重试的次数,如果设置了重试次数,还可以判断是否达到了最大重试次数
1.1.8	
	1.traceNo 不允许传null
	2.提升启动速度,修改不是每次启动都更新队列数量
	3.修复orderedNotice接收请求参数取值错误的bug, 获取不到req就设置不了extParams等参数
	4.新增shutdown日志
	5.新增sdk相关bean方法 sdkInvoke, sdkNotice 返回 SdkNoticeResult, SdkInvokeResult, 暂无考虑 async 调用
	6.修复traceNo未设置bug
	7.新增sdk相关promise,让调用层只依赖sdk,移除底层依赖
1.1.8.1
	1.修复 BaseNoticeContext 未设置 maxRetryCount 的 bug
1.1.8.2
	1.移除所有test通道代码
	2.调整发送回执处理者为集群,发送时提供处理者要求回执时精准回传到处理者
1.1.9
	1.修复 method 为 null 不报错的 bug
	2.修复同步处理器异步导致还没启动完毕调用方法报错
	3.修复 SdkNoticeContext.isMaxRetryCount 一直为 true 的 bug
	4.修复 SdkNoticeContext.shutdown 后重新start,然后 get[xx]Bean 发送失败的 bug, 全局缓存改成单 client 缓存
	5.开放 SdkPromise 作为并发工具提供, 可替代 jdk 默认的 future
1.2.0
	1.新增客户端集群不匹配启动时快速失败
	2.优化同步调用的 CancellationException 和 TimeoutException 类型,明确抛出(未完成)
	3.构建通用common包
	4.调整批量同步默认大于 100kb 才手工压缩,方便运维与节省 cpu 资源
	5.提供 javadoc
1.2.1
	1.优化同步调用的 CancellationException 和 TimeoutException 类型,明确抛出(未完成)
	2.新增 SdkContextHolder.setInvokeExecutePromise, 解决同步处理服务受制与三方,例如其他Sdk同步服务提供者,或者百度,阿里等公有api提供商.
	3.新增 SdkHttpClient,配合 SdkContextHolder.setInvokeExecutePromise 一起使用可以达到全流程无阻塞
	4.groupName 允许使用特殊符号 "."
1.2.2
	1.DefaultSdkClient 新增方法  setClientProxy, 可以拦截所有的服务执行与调用
	2.修复 http 客户端不传 header 的 bug
	3.调整默认的方法traceNo前缀
	4.调整默认的同步调用traceNo前缀
	5.新增默认的顺序异步traceNo
	6.SdkNoticeContext 可以获取到 String 或 Number 类型的 orderKey
1.2.3
	1.修复异步重试达到最大次数仍旧多重试几次的bug,并且达到最大重试次数后控制台仍旧可以查找到,方便后期所有调用保存7天以供查询
	2.修复调用时, cmd 的方法参数有 null 时,发送时才报错的问题,改为构建对象时就报错,快速失败,避免进入后续流程。
	3.http请求参数新增代理设置
	4.移除超大报文提前检查大小的限制,还是压缩后再检查大小。有业务风险,多个客户端几秒内调用了20个50M左右的大对象,业务并发接对象就要1G内存
	5.优化内存占用,单client控制在30MB之内
1.2.4
	1.放开同步超大报文响应限制,暂定50M左右文本报文可以正常响应,再大的用其他方案
	2.支持阿里 ons, 切换代码零修改
1.2.5
	1.默认添加的方法 traceNo 改为 TRACE_METHOD_ + "xxx方法" + MMddHH, 方便定位到此方法一小时内 64 个以内的调用次数
	2.新增上下文获取接口名称方法
1.2.7
	1.修复启动时接口校验异常,不存在的新接口无需校验。
1.2.8
	1.rocketmq 版本升级到 4.5.2
	2.支持事务调用
	3.优化客户端代理机制
	4.优化 fastjson 的 autotype 容错处理
	5.支持 springboot starter
1.2.9
    1.新增事务调用运维兜底方法client.transactionCommit(msgId)
    2.修复rocketmq底层msgid多jvm下生成重复问题

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published