- 博客(467)
- 资源 (6)
- 收藏
- 关注
原创 Nacos2.0.3 Dubbo k8s灰度下线
/** * * <pre> * 如果通过配置dubbo.service.shutdown.wait=20000(默认10000,10秒)这种方式, * k8s.terminationGracePeriodSeconds=缩小时间间隔, * 则会有线上的在途服务突然中断或者其他错误, * * 借助k8s的容器层的preStop来做灰度下线,并不影响线上服务, * * .
2022-01-04 18:22:47 1802
原创 Nacos1.3.2 Spring Cloud k8s灰度下线
/** * nacos服务主动下线 * * 主动下线方法中,1调nacos实例下线(no run),2.调nacos的超时(仅在springcloud服务中能* 和),* 最后选择用2 */ public boolean nacosDown(Map map) { log.info("nacosDown deregister from nacos, serviceName:{}, hostUrl:{}, namespace...
2022-01-04 18:21:48 775
原创 数据源性能调优记录
调了一波Druid之后,性能上还是上不去,果断的切到了HikariCP上。经过攻读源码,可知Hikari性能高的主要理由:1. 精简字节码. javassist2. concurrentBag 无锁设计,ThreadLocal缓存,队列窃取,直接切换优化3. FastList get(不range判断), remove(倒序),4. 整个链路都是无锁化的按照hikari的定位,调节了maxpool, initpool, autoconnect, xxtimeout等参...
2021-12-20 22:41:03 342
原创 架构方法论
架构者入手基本思路:1. 接到需求,深度,广度理解需求2. 罗列所有核心的解决方案3. 针对团队现状评估出最优之方案4. 方案落地,跟进,项目进度,项目质量,团队隔合5.复盘引用大牛的架构法则:...
2021-12-20 22:23:39 276
原创 小坑:sharding jdbc 3和pagehelper 5 源码冲突
昨晚被一个小坑坑了一晚,花几分钟mark一下(时间关系, 录个大概):《sharding jdbc 3和pagehelper 5 分页冲突》sharding的processLimit()流程把pageHelper的limit ??参数 重置为 0, x了, 导致分布永远都是0, x 。解决方案:1. 需要pagehelper时 用跳过shardind的数据源, (用的是最新版的...
2019-06-20 09:59:10 3845 3
原创 tbschedule源码分析配置
支付平台对账需要用到 一些定时器管理框架, (量大的时候会用到任务并行处理框架)选中了 啊里的tbschedule框架.网上的说明较多,不过以下根据普通的互联网小业务再说明mark一下:一般的小业务可以分为:1.频繁定时任务,如每分钟执行一次(0 * * * * ?)2.每天仅一次的定时任务, 如(1 12 * * * ?)而在小业务中,假如不过于依赖多线程
2018-01-22 10:19:28 727
原创 好大滴坑, Spring MVC覆盖了Trsaction
欢迎使用Markdown编辑器写博客本Markdown编辑器使用StackEdit修改而来,用它写博客,将会带来全新的体验哦:Markdown和扩展Markdown简洁的语法代码块高亮图片链接和图片上传LaTex数学公式UML序列图和流程图离线写博客导入导出Markdown文件丰富的快捷键快捷键加粗 Ctrl + B 斜体 Ctrl + I 引用 Ctrl
2015-07-02 11:42:43 1253
原创 测试 not null 针对key length的影响
init测试数据:CREATE TABLE `test_range` ( `aa` int(11) , `bb` varchar(60) , `cc` datetime , `dd` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP, KEY `cc` (`cc`,`a
2014-07-20 03:33:05 670
原创 退役笔记二#MySQL = lambda sql : sql + ' Source Code 4 InnoDB '
宏UNIV_INLINE >> univ.i
2014-07-19 22:42:27 1059
原创 退役笔记一#MySQL = lambda sql : sql + ' Source Code 4 Explain Plan '
Mysql 查询执行过程 大致分为4个阶段吧:语法分析(sql_parse.cc)>>sql_resolver.cc # JOIN.prepare生成逻辑查询plan(sql_optimizer.cc)>># JOIN.optimize生成物理查询plan(sql_planner.cc)run the explain plan(sql_executor.cc
2014-07-19 22:30:33 1216
原创 Order by/子查询 吸收索引 快速测试 ....
descSELECT b.sell_date_from, b.department_name, c.pt_brand_name, b.brand_name, a.cat_id, a.cat_name, a.block_sort, b.size_name, b.goods_money_block,b.uv, b.pv, b.conversion_rate, b.sale_amount,
2014-07-18 17:16:00 829
原创 varchar 所占内存的影响 测试
准备数据sysbench --test=oltp --oltp-nontrx-mode=update_key --mysql-table-engine=innodb --oltp-table-size=1000000 --mysql-socket=/tmp/mysql3392.sock --mysql-user=dba --mysql-host=localhost --mysql-pa
2014-07-16 19:56:42 2789 1
翻译 web perfonmance
通过pldd或者pmap命令,你可以确定libumem是否被使用。调优实例 高吞吐量java -Xmx3800m -Xms3800m -Xmn2g -Xss128k -XX:+UseParallelGC -XX:ParallelGCThreads=20并行的old generation收集java -Xmx3550m -Xms3550m -Xmn2g
2013-09-17 16:36:23 907
原创 difirence for oracle and mysql
For update: oracle 能读,锁行mysql 不能读, where key->锁行,非key->锁表 (只适用于innodb,事务块里)oracle的 DML锁: 包括 TM(table-level-locks) 对象锁 和 TX(Row-level-locks)事务锁
2013-09-11 09:31:37 1100
原创 linux vim base funny commond
port:wget: 8080telnet: 23mysql: 3306sqlserver: 1433oracle: 1521websphere: 9080http:80https:443ftp: 21 22scp root@www.cumt.edu.cn:/home/root/others/music /home/space/m
2013-06-21 12:03:33 1458
原创 oracle base funny sql
sqlplus / as sysdbaspool filename;select .....;spool off;debuge sql:set autotrace onEXPLAIN PLAN FOR sqlalter user abc identified by "123456"
2013-06-05 16:07:18 832
原创 mysql base funny sql
767 3072 65535256*3-1 1024*3 2^16-1tcprstatmysqldumpslow -s at -t 10 slow3306.log > slow3306_BillWu_20140402_A.txtmysqlsla -log-type slow -top 10 slow3306.log > slow3306_BillWu_2014
2013-05-17 13:05:42 1856
原创 difirence for java php and js and c and python
Operation Principle:JAVA: base java code, binary code, class loader{oad link(validate, prepare, resolve) init}, jvm, cPHP: 4 layers system(Zend Engine, Zend Extension, PHP, SAPI)JS:
2013-05-13 00:31:19 1969
原创 设计模式 pk
适配器模式的用意是改变对象的接口而不一定改变对象的性能,而装饰模式的用意是保持接口并增加对象的职责。 装饰模式(decorator)和适配器模式(adaptor)都有一个别名叫包装模式(Wrapper),但包装的形式是不一样的 装饰模式 VS 继承装饰模式 继承用来扩展特定对象的功能 用来扩展一类对象的功能不需要子类 需要子类动态地 静态地运行时分配
2011-12-23 14:50:20 789
原创 微服务撸一个micro rpc框架, 希望能解决跨平台
转一下前端,抽空写一个micro rpc框架, 准备花半年时间优化它, 希望能兼容java,php,python > > https://github.com/BillWuSQL/SRPC
2019-01-22 17:09:35 481
原创 Oracle切换MySQL记录
Oracle To MySqlXs java项目转换:1.加mysql驱动,修改数据库配置信息 2.去掉读写分离,修改JdbcContextHolder,所有都从主库读写 3.修改一堆hibernate的自增主键的方式,全部改成了mysql的自增长 4.注册修改sql,mysql需要给定别名,另外去掉rownum改用limit0,1, 校验码失效时间改用java判断 9.代码中很多times
2017-03-14 09:02:56 2865
原创 DB Spring
几十年没搞过DB了,重温一下,, MySQL 的Repeatable Read > Phantom Read > 表锁页锁行锁gap锁 > MVCC >> undo log >> redo log >> statement >> recovery ... >> 引申到Spring滴Propagation (对于dev与dber 虽然两者是
2015-05-22 22:51:05 1357
原创 Spring Security Source Code -- 验证标准流程
除了初始阶段:主干验证流程链:MyInvocationSecurityMetadataSource.getAttributes(Object) line: 43 MyFilterSecurityInterceptor(AbstractSecurityInterceptor).beforeInvocation(Object) line: 172 MyFil
2014-10-11 19:28:43 1350
原创 STRAIGHT_JOIN优化坑爹SQL
select d.device_id, d.device_token, d.app_name, d.user_id, d.app_name_aliases, d.app_version, vipruidfrom apns_device d, user_group u where d.user_id and d.status =1 and u.user_group_id =
2014-08-28 14:23:06 5178
原创 java 数据结构. 源码阅读
Collections工具类里的Collections.synchronizedListpublic static List synchronizedList(List list) { return (list instanceof RandomAccess ? new SynchronizedRandomAccessList(
2014-08-28 12:38:12 1498
原创 MySQL执行计划不准确 -概述
为毛 MySQL优化器的执行计划 好多时候都不准确,不是最优的呢(cpu+io)??? 因素太多了:: 存在information_schema的信息是定期刷新上去的,好多时候不是最真的,甚至相差好大(非高山峰时好好利用一下analyze table等);现在一个企业有钱没地方花,买一大堆固态磁盘,碰巧非智能的MySQL不能很好滴跟上硬件优化的节奏,可能超过一部分的
2014-08-06 23:29:29 2697
原创 varchar PK text
create table t1(id int auto_increment primary key, test varchar(10000));create table t1(id int auto_increment primary key, test text(10000));
2014-07-30 13:08:05 792
原创 MySQL启动分析 --> /MySQL5.6/sql/mysqld.cc
命令mysqld 入口文件extern int mysqld_main(int argc, char **argv);int main(int argc, char **argv){ return mysqld_main(argc, argv);}
2014-07-28 18:27:30 1428
原创 退役笔记N#MySQL = lambda sql : sql + ' Source Code 4 MySQL Hash '
hash0hash.h
2014-07-22 10:17:00 793
原创 退役笔记N#MySQL = lambda sql : sql + ' Source Code 4 Double Write '
trx0sys.shstruct trx_doublewrite_struct{}
2014-07-22 10:16:14 806
原创 退役笔记N#MySQL = lambda sql : sql + ' Source Code 4 Master Thread '
srv_master_thread ()
2014-07-22 10:14:50 669
原创 退役笔记N#MySQL = lambda sql : sql + ' Source Code 4 Secondary Buffer Pool For InnoDB '
http://code.google.com/p/david-mysql-tools/wiki/innodb_secondary_buffer_pool
2014-07-22 10:13:38 736
原创 DB水平切换要点
分区健选择 数据应该如何拆分,按照什么纬度来拆分节点路由 应用程序写死/客户端(TDDL,cobar-client)/中间层(cobar-server) 固定分配/动态分配/混合分片数据均衡 某些分片访问比较频繁,跟业务类型相关全局唯一键生成器 专门的应用接口跨节点排序/分组/表关联 应用程序实现多数据源事务处理/分布式事务 应用程序实
2014-07-02 15:59:48 1056
原创 zeroDateTimeBehavior=convertToNull
针对以下这个,我觉得这样做是可取的:3)每个字段尽量设置不可为空,对于有些业务比如订单的出仓时间确实需要等到出仓扫描时才有值的可以允许为空;供参考的解决方案:全部字段都设置为not null, int ,date,datetime,timestamp类型都可以default 0 orm层配置增加如下:zeroDateTimeBehavior=conv
2014-07-02 10:24:53 12120 3
原创 simple fix 主从不一致滴error
Last_SQL_Error: Error 'Unknown table 'bb'' on query. Default database: 'test'. Query: 'DROP TABLE `bb` /* generated b思路是 尝试 stop slave,reset slave, 新增bb表(随便定义表), 记住 上一次change master 的 bin-log 及posi
2014-06-30 22:11:55 1993
原创 mysql master slave project
tms数据量增长环境选型问题: 1.mysql同步集群,高端的NDB引擎集群,速度一般,自有负载均衡,节点不能太多,否则插入慢,同步慢,国内都不太敢用,传说不靠谱;2.mysql异步集群(只是模拟出来的集群),普通innodb引擎甚至其他,自用主从复制,客户端手动实现读写分离(当然也可用mysql proxy);a.那么现在老系统是基于异步集群,自写客户端负载均衡中间件是重点...
2014-03-12 10:21:48 875
原创 mysql explain : inner join analysis ; <eq_ref> better than <ref>
explainselect t.order_sn, t.cust_code, ti.tms_order_other_info_id, sp.province_name, sc.city_name, sr.region_name, st.town_name, t.buyer_address from tms_order t inner join tms_order_other_info
2014-01-22 09:51:17 2738
原创 mysql 字段优化
字段选型及属性优化1.设计问题在新建一个表或者优化表的过程中,我们的思路一般是:存储什么样的数据,需要多大的空间,不同的定义对性能的影响。1. 列中将存储什么样的数据。这个应该是最开始就需要弄明白的问题,我们经常遇到的数值类型,字符型,时间类型,可以很明确的区分出来。2. 选择适当的数据类型。在确定数据大类后,就得从同一类型中进行选择,如数值
2014-01-15 14:02:24 4360
翻译 mysql file sort
在MySQL中的ORDER BY有两种排序实现方式:1、利用有序索引获取有序数据2、文件排序在使用explain分析查询的时候,利用有序索引获取有序数据显示Using index。而文件排序显示Using filesort。1.利用有序索引获取有序数据 取出满足过滤条件作为排序条件的字段,以及可以直接定位到行数据的行指针信息,在 S
2014-01-04 01:13:26 9604
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人