### Version 7.13.1
### Version 7.13.0
- cache/memcache 升级支持protobuf
- cache/memcache 破坏性增加了conn.Scan去掉了item.Scan方法
- business/client/identify 缓存gob改成了protobuf
- vendor新增了github.com/gogo/protobuf的依赖
- 更新vendor里golang库到最新版
- 更新ecode文档
- ecode 获取code message由从数据库全量更新改为通过接口增量更新
- 升级配置,不兼容老的版本,参考 http://info.bilibili.co/pages/viewpage.action?pageId=3684076
1.支持vendor 2.继承了location-service
1.big-repo ,修改business目录
1.添加secure model
2.修改location model
1.合并go-business 2.合并rouer 3.拆分interceptor
1.http client的breaker状态变更支持上报prometheus
1.rpc server支持recover
1.修复databus中offset为0不能commit的问题
1.增加syscall/signal 对 macos(darwin) 的支持
1.强制要求http和rpc client设置breaker,否则会运行panic
1.去disconf,使用config-service SDK作为唯一Client
1.memcache新增序列化和压缩
2.新版memcache接口
3.net/http新增错误普罗米修斯上报
memcache不再兼容,带有破坏性修改!!!!!!!
1.去掉vendor
1.新增vendor支持第三方依赖包
1.fix mc Stat, 以及增加单元测试
兼容了windows,编译:
喜欢windows开发的同学,可以
syslog -> go-common/syslog(syslog日志收集);
os/Signal ->go-common/os/signal,syscall -> go-common/syscall(信号处理);
1.迁移golang库中的gomemcache,交由go-common/cache/memcache维护; 2.优化了net/trace包内私有方法;
1.修复database/sql Stmt函数漏初始化db变量导致的panic
1.解决先前版本readme的冲突
1.add RESTful httpclient
1.修复mysql lifetime,迁移mysql配置
1.修复log-agent sdk收集日志中有换行符未转义的bug
1.新增log-agent日志收集sdk,以unix socket方式发送日志
1.修改httpconf
1.改为读写锁读取配置
1.修改net/netutil熔断器支持全局开关
1.config sdk增加读取appoint参数,用作回退时读取指定配置文件
Version 6.14.0
1.config sdk增加读取appoint参数,用作回退时读取指定配置文件
1.调整router handler参数,将函数内部join pattern改为外部传入完整pattern
1.修复db 事务初始化的bug
1.stat支持prometheus功能,实现统计和监控
- 对reids进行了修改,以后不依赖conf包了,配置直接写在redis本包
- 增加rpc sharding
1.配置中心client 启动参数增加token字段,区分应用和环境
1.依赖zookeeper的rpc client由连接池改为单连接
2.breaker新增了callback,通知状态变更
1.修改zookeeper注册参数
1.配置中心增加获得配置文件路径方法
1.fix rpc权重为0时,client不创建长连接
2.rpc增加配置是否注册zookeeper
1.fix mc expire max ttl
- 将配置中心启动参数设置成和disconf的一样
- 优化了net/http Client的buffer过小导致的syscall过多
1.fix http client超时设置不准确的问题,去掉了读包体和反序列化的时间
1.rpc Broadcast 添加reply参数,支持对任意方法进行广播
1.fix 新版配置中心和老版本init冲突问题
1.fix rpc Boardcast的bug
- 新版本配置中心conf/Client
- 修复remoteip获取
- 去除rpcx
1.fix配置文件名覆盖的问题
- net/rpc支持了Boardcast广播调用
- net/rpc支持了group路由策略
- 优化了statsd批量发包
- 修复了trace comment 在annocation的bug
- 优化了net/rpc反射带来的性能问题
- net/rpc内置了ping
- 临时加回net/rpcx, TODO remove
- net/trace.Trace2 奔溃和race修复
- 去除了net/rpcx
- 新增了memcache Get2/Gets
- net/rpc使用CPU个数建立连接
- 兼容net/rpc server的Client trace传递
- 升级databus sdk,注意配置文件有变更
- xtime->time, xlog->log perf->net/http/perf
- rpc支持设置方法级别超时
- rpc支持breaker熔断
- database 修复Row和标准库不兼容,使用database Rows替换标准库的Rows使用
- 新的rpc框架net/rpc
- net/trace支持Family初始化
1.Zone结构体加json tag
1.更改http包名和路径
2.增加http单元测试
3.statd去掉hostname
4.ip结构体增加isp字段
1.xip改为支持对象访问,去掉全局对象和函数
1.修复上报trace的位置
1.支持熔断
2.rpc server判断zk是否注册
3.修复Infoc连接重连
4.xhttp xrpc xweb改为httpx rpcx webx
5.修复trace level的bug
0.注意一定要使用Go1.7及以上版本
1.用golang/rpcx替换官方库
2.使用go1.7的context包
3.增加traceon业务监控上报
4.xhttp中ip方法挪到xip包
5.rpc服务暴露close接口
6.修复ugc配置中心等待30s的bug
7.修复rpc client因权重变更导致panic的bug
8.使用context.WithTimeout替代timer
1.日志新增按文件大小rotate
1.infoc支持udp和tcp方式
2.去掉stdout、stderr输出到syslog的逻辑
1.fix rpc timeout连接泄露的bug
2.rpc单连接改为多连接
1.支持从环境变量获取配置
2.syslog支持打印标准输出和错误
1.支持配置中心
1.修复xredis keys的bug
2.修复xmemcache批量删除bug
3.新增 databus v2 客户端
1.trace 优化
2.去掉sp 运营商字段
1.trace id改为int64
2.trace http client增加host
3.ip新增运营商字段
1.fix kafka monitor
1.去掉ecode和router
1.business移到go-business
2.新增InternalIp()获取本机ip
3.rpc ping加超时
4.增加ecode配置
5.新增支持syslog
1.修复xip边界值时死循环问题
1.space接口只保留s_img、l_img
2.archive-service新增viewPage的rpc方法
1.VIP相关接口及错误码
1.修复ip递归查找导致的栈溢出
1.account-service profile的http接口、批量获取relation接口
2.账号新增official_verify字段
1.修复degrade中变量名错误
2.简化redis的auth逻辑,使用option