- 博客(156)
- 收藏
- 关注
转载 vim 列编辑模式
vim 列编辑模式标签: vim 视窗模式 列编辑模式vim 列编辑模式例子:给列批量添加前缀、后缀、修改字段vim 列编辑模式vim 有三种编辑模式,命令模式、输入模式、视窗模式,我们常用的是前两种模式,但是视窗模式还是非常不错的,进入 vim 编辑器,模式是命令模式,可以通过 i、a 等进入输入模式,也可以通过 v、 c+v 进入视窗模式。视窗模式可以让我们选择一块...
2019-06-29 10:09:00
918
转载 北京麒麟会GITC
分享ppt:https://pan.baidu.com/s/1Aerqtbi8VpMiFGhfEMUtPQhttp://bj.thegitc.com/#meeting-agenda转载于:https://www.cnblogs.com/wangiqngpei557/p/10880726.html
2019-05-17 12:52:00
289
转载 ElasticSearch 评分排序
背景通过脚本改变评分背景近期有一个需求,需要对优惠券可用商品列表加个排序,只针对面值类的券不包括折扣券。需求是这样的,假设有一张面值券 50 块钱,可用商品列表 A 100、B 40、C 10,当用户查询当前券可用商品列表的时候优先将卡券可以直接抵扣且不需要用户在额外支付的商品排在前面。C 10B 40A 100其实排序有很多侧重,比如:1.根据用户利益最大化...
2019-02-23 19:35:00
992
转载 zookeeper 实现分布式锁安全用法
zookeeper 实现分布式锁安全用法标签: zookeeper sessionExpire connectionLoss 分布式锁背景ConnectionLoss 链接丢失SessionExpired 会话过期绕开 zookeeper broker 进行状态通知leader 选举与zkNode 断开做好幂等静态扩容、动态扩容背景分布式锁现在用的越来越多,通常...
2019-01-26 12:51:00
374
转载 诡异的druid链接池链接断开故障经验总结
背景症状排查修复背景最近在陆续做机房升级相关工作,配合DBA对产线数据库链接方式做个调整,将原来直接链接读库的地址切换到统一的读负载均衡的代理 haproxy 上,方便机柜和服务器的搬迁。切换之后线上时不时的会发生 discard connection 错误,导致程序报 500 错误,但不是每次都必现的。开发框架: spring boot+mybatis+druid...
2019-01-19 14:16:00
1780
转载 RabbitMQ 可靠投递
RabbitMQ 可靠投递标签: RabbitMQ shovel-plugin ConfirmCallback RabbitMQ消息投递背景confirmCallback 确认模式returnCallback 未投递到 queue 退回模式shovel-plugin 跨机房可靠投递背景在使用 RabbitMQ 的时候,作为消息发送方希望杜绝任何消息丢失或者投递失败场景...
2018-07-28 11:57:00
93
转载 数据分表小结
背景分库、分表带来的后遗症分表策略一些注意事项背景最近一段时间内结束了数据库表拆分项目,这里做个简单的小结。本次拆分主要包括订单和优惠券两大块,这两块都是覆盖全集团所有分子公司所有业务线。随着公司的业务飞速发展,不管是存储的要求,还是写入、读取的性都基本上到了警戒水位。订单是交易的核心,优惠券是营销的核心,这两块基本上是整个平台的正向最核心部分。为了支持未来三到五年的...
2018-07-21 17:05:00
120
转载 微服务架构—自动化测试全链路设计
背景被忽视的软件工程环节 - DEVTESTOPS微服务架构下测试复杂度和效率问题开发阶段 unitTest mock 外部依赖连调阶段 mock 外部依赖自动化测试阶段 mock 需求autoTest Mock Gateway 浮出水面轻量级版本实现整体逻辑架构将 mock parameter 纳入服务框架标准 request contract使用 AOP + ...
2018-07-08 14:32:00
453
转载 上海线下技术交流(AA制)
标签: 上海线下技术交流会作者:王清培(Plen wang) 沪江Java资深架构师 、营销云平台负责人上海地区技术线下交流,本次聚会AA制,要的就是热爱技术,交流技术,不是凑热闹。特此留念。活动日程:主题:电商平台架构设计讲解人:王清培居住地:上海沪江 Java 架构师 、畅销书作者《NET框架设计—模式、配置、工具》、51CTO认证专家博主、Microsoft MVP...
2018-04-16 15:55:00
173
转载 花旗银行金融研发部培训留念
标签: 花旗金融培训作者:王清培(Plen wang) 沪江Java资深架构师 、营销云平台负责人受邀给花旗金融(上海)培训,一直没时间整理,特此留念。谢谢。转载于:https://www.cnblogs.com/wangiqngpei557/p/8855992.html...
2018-04-16 15:13:00
183
转载 Redis 数据结构与内存管理策略(下)
Redis 数据结构与内存管理策略(下)标签: Redis Redis数据结构 Redis内存管理策略 Redis数据类型 Redis类型映射作者:王清培(Plen wang) 沪江Java资深架构师Redis 数据类型特点与使用场景String、List、Hash、Set、Zset案例:沪江团购系统大促 hot-top 接口 cache 设计Redis 内存数据结构...
2018-01-27 09:24:00
148
转载 Redis 数据结构与内存管理策略(上)
Redis 数据结构与内存管理策略(上)标签: Redis Redis数据结构 Redis内存管理策略 Redis数据类型 Redis类型映射作者:王清培(Plen wang) 沪江Java资深架构师Redis 数据类型特点与使用场景String、List、Hash、Set、Zset案例:沪江团购系统大促 hot-top 接口 cache 设计Redis 内存数据结构...
2018-01-21 11:05:00
194
转载 后端服务性能压测实践
后端服务性能压测实践标签: 性能 压测 后端服务 压测实践作者:王清培(Plen wang) 沪江Java资深架构师作者:王清培(Plen wang)背景环境检测压力机及压力工具检测Linux openfiles limit 设置排查周边依赖空接口压测检测聚合报告中 throughput 计算压测及性能排查方法关注各纬度 logLinux 常规命令性...
2017-12-02 09:51:00
296
转载 spring rest 容易被忽视的后端服务 chunked 性能问题
spring boot 容易被忽视的后端服务 chunked 性能问题标签(空格分隔): springboot springmvc chunked作者:王清培(Plen wang) 沪江Java资深架构师背景spring boot 创建的默认 spring mvc 项目集成 JAX-RS 规范框架 Jersey背景在之前的一次性能压测的时候我们发现一个细节问题,我们使...
2017-11-26 12:29:00
290
转载 聊下 git 多账户问题
git 多账户问题标签(空格分隔):git github gitlab git多账户背景git 多账号配置ssh 多密钥对配置背景在使用 git 的时候我们都会面临多账户问题,比较常见的就是公司内部的 gitlab,开源平台 github ,我们都需要在一台电脑上同时使用,这需要解决两个问题。git 多账号配置git config --global user.nam...
2017-11-18 14:00:00
147
转载 性能压测诡异的Requests/second 响应刺尖问题
作者:王清培(Plen wang) 沪江Java资深架构师最近一段时间都在忙着转java项目最后的冲刺,前期的coding翻代码、debug、fixbug都逐渐收尾,进入上线前的性能压测。虽然不是大促前的性能压测要求,但是为了安全起见,需要摸个底心里有个数。毕竟这次转java的服务都是集团核心公共服务(主要是订单域服务)。(等我们顺利上线了,我再来好好总结下其中的坎坷和壮举...
2017-09-23 14:38:00
245
转载 redis 简单使用总结
作者:王清培(Plen wang) 沪江Java资深架构师最近一段时间与redis接触比较频繁。发现有些东西还是工作中经常会用到的,自己也花了点时间巩固下。本篇文章主要是以总结性的方式梳理,因为redis的主题很大,任何一个技术点展开都是几篇文章的量。也可以说这篇文章是个概览。1.redis基本数据结构与短结构压缩了解redis的数据结构有助于了解每种数据结构的优劣势,方便...
2017-07-29 15:35:00
109
转载 Java 并发编程内部分享PPT分享
.NET程序员转向JAVA领域,必备技术首当其冲就是JAVA Concurrency 并发编程。最近系统性的学习了 Doug Lea 《JAVA并发编程实战》一书。这书很有嚼劲,进入JAVA技术体系必看书籍之一。看完之后,在公司内部做了一个简单的分享,主要是普及下.NET程序员转向Java技术后对于并发的基本认识。PPT中有大量的实例代码,可以自己debug。http://fil...
2017-07-15 11:33:00
744
转载 alibaba druid 在springboot start autoconfig 下的bug
alibaba druid 在springboot start autoconfig下的bug标签(空格分隔):druid springboot start autoconfig背景发现、分析过程总结背景最近在使用alibaba druid进行多数据源连接的时候无意中发现一个小bug,已经提交github issue 官方已经fix。issue 地址:https://g...
2017-07-08 12:49:00
536
转载 redisLock redis分布式锁
redis-lockredis setnx cmmandjava object condition queue 条件队列retrycount 带有重试次数限制object wait time 带有超时时间的waitdelete lock 删除远程锁acquire lock 申请lockrelease lock 释放lockdemo 演示锁的粒度问题,锁分解、锁分段g...
2017-06-18 14:15:00
399
转载 记5.28大促压测的性能优化—线程池相关问题
目录:1.环境介绍2.症状3.诊断4.结论5.解决6.对比java实现废话就不多说了,本文分享下博主在5.28大促压测期间解决的一个性能问题,觉得这个还是比较有意思的,值得总结拿出来分享下。博主所服务的部门是作为公共业务平台,公共业务平台支持上层所有业务系统(2C、UGC、直播等)。平台中核心之一的就是订单域相关服务,下单服务、查单服务、支付回调服务,当然...
2017-06-04 15:40:00
172
转载 浅谈微服务的来龙去脉
浅谈微服务的来龙去脉背景介绍微服务怎么来的微服务是进化出来的微服务不是银弹作者:王清培(Plen wang)沪江Java资深架构师转载至沪江技术学院微信公众号背景介绍最近一段时间公共业务平台在进行大面积的重构,对原来的技术栈进行迁移,逐渐往java、go、node.js等开源、自由为主的技术体系中过度。虽然这主要是替换技术框架,但也是我们应用系统进行重新设计、...
2017-06-03 08:09:00
211
转载 RabbitMQ 高可用集群搭建及电商平台使用经验总结
面向EDA(事件驱动架构)的方式来设计你的消息AMQP routing key的设计RabbitMQ cluster搭建Mirror queue policy设置两个不错的RabbitMQ plugin 大型应用插件(Sharding、Rederation)Queue镜像失败手动同步各集群配置同步方式(RabbitMQ export\import)客户端连...
2016-12-10 19:46:00
513
转载 WebAPi的可视化输出模式(RabbitMQ、消息补偿相关)——所有webapi似乎都缺失的一个功能...
最近的工作我在做一个有关于消息发送和接受封装工作。大概流程是这样的,消息中间件是采用rabbitmq,为了保证消息的绝对无丢失,我们需要在发送和接受前对消息进行DB落地。在发送前我会先进行DB的插入,单表插入,所以在性能上也是能接受的,单表插入做了压测基本上是一到两毫秒的时间,加上消息的发送(有ACK)再加上集群是两个节点的高可用(一个磁盘持久化节点),单台TPS基本上是在2000-30...
2016-11-27 20:06:00
208
转载 log4net 自定义Layout日志字段
最近在使用log4net的时候有一个简单的需求,就是自定义个格式化输出符。这个输出符是专门用来帮我记录下业务ID、业务类型的。比如,“businessID:328593,businessType: orderID”。类似这样的输出日志。这些日志会被elk agent提取送到日志中心ES中,用来进行辅助排障。简单的看了下log4net的PatternLayout和PatternConv...
2016-11-20 11:30:00
238
转载 聊下 git 使用前的一些注意事项
连接方式https、ssh在使用git的时候,不管你的服务器是开源平台github还是私服gitlab,你都需要clone仓库到本地,这个clone的时候就需要你选择连接方式。这个连接方式决定了你与服务器交互的时候以一个什么协议进行。如果你没搞清楚这两种方式,可能你在使用的时候会很困惑,别人在push代码的时候没有提示输入账号密码,而你却有,至少我当初有过这个问题。可选择的协议有...
2016-11-19 11:00:00
119
转载 .NET架构设计、框架设计系列文章总结
从事.NET开发到现在已经有七个年头了。慢慢的可能会很少写.NET文章了。不知不觉竟然走了这么多年,热爱.NET热爱c#。突然想对这一路的经历进行一个总结。是时候开始下一阶段的旅途,希望这些文章可以在发挥点价值作用。架构设计:ElasticSearch大数据分布式弹性搜索引擎使用(推荐)DDD实施经验分享—价值导向、从上往下进行(圈内第一个吃螃蟹DDD实...
2016-11-13 09:33:00
188
转载 聊下 git remote prune origin
在你经常使用的命令当中有一个git branch –a 用来查看所有的分支,包括本地和远程的。但是时间长了你会发现有些分支在远程其实早就被删除了,但是在你本地依然可以看见这些被删除的分支。你可以通过命令,git remote show origin 来查看有关于origin的一些信息,包括分支是否tracking。Local refs configured for ‘git ...
2016-11-13 09:08:00
1401
转载 聊下git pull --rebase
有一种场景是经常发生的。大家都基于develop拉出分支进行并行开发,这里的分支可能是多到数十个。然后彼此在进行自己的逻辑编写,时间可能需要几天或者几周。在这期间你可能需要时不时的需要pull下远程develop分支上的同事的提交。这是个好的习惯,这样下去就可以避免你在一个无用的代码上进行长期的开发,回头来看这些代码不是新的代码。甚至是会面临很多冲突需要解决,而这个时候你可能还需要对...
2016-11-12 14:14:00
279
转载 聊下git merge --squash
你经常会面临着将dev分支或者很多零散的分支merge到一个公共release分支里。但是有一种情况是需要你处理的,就是在你的dev的分支里有很多commit记录。而这些commit是无需在release里体现的。develop 主分支develop主分支最近的一个commit是”fix imageprint bug.”。我们拉出一个分支进行项目开发,里面会有很多comm...
2016-11-03 11:56:00
482
转载 git 命令使用总结
聊下 git rebase -i聊下 git merge --squash聊下 git pull --rebase聊下 git remote prune origin聊下 git 使用前的一些注意事项聊下 git 多账户问题转载于:https://www.cnblogs.com/wangiqngpei557/p/6025831.html...
2016-11-03 11:15:00
67
转载 聊下 git rebase -i
在使用git作为源代码管理工具的时候,开发的时经常会面临一个常见的问题,多个commit 需要合并为一个完整的commit提交。在一个基本的迭代周期里,你会有很多次commit,有跟配置文件相关的,有跟代码相关的,甚至有跟下次发布fixbug相关的。这些都是你在完成本地开发的时候一个变化记录而已。但是当你需要将你的迭代项目作为一次发布提交时就需要整合所有之前提交的那些很零碎的comm...
2016-10-23 11:35:00
163
转载 ElasticSearch大数据分布式弹性搜索引擎使用
阅读目录:背景安装查找、下载rpm包 、执行rpm包安装配置elasticsearch专属账户和组设置elasticsearch文件所有者切换到elasticsearch专属账户测试能否成功启动安装自启动elasticsearch servicewrapper包下载elasticsearch servicewrapper 包elasticsearc...
2016-10-16 19:00:00
297
转载 DDD实施经验分享—价值导向、从上往下进行(圈内第一个吃螃蟹DDD实施方案)...
阅读目录:1.背景2.从业务开始3.从战略到战术4.借助外力推动研发(QA、领导、自动化测试)5.领域模型与SAAS平台的内核(价值最大化)6.最后1.背景DDD本身的技术就不介绍了,本篇文章要分享下我在推广DDD或者说实施DDD的过程中的心得和宝贵的经验。事实证明,这是可行的方案。用好DDD是一回事,推广DDD是另外一回事。也许已经有一套客观理性...
2015-12-05 11:07:00
179
转载 封装RabbitMQ.NET Library 的一点经验总结
这篇文章内容会很短,主要是想给大家分享下我最近在做一个简单的rabbitmq客户端类库的封装的经验总结,说是简单其实一点都不简单。为了节省时间我主要按照Library的执行顺序来介绍,在你看来这里仅仅是一个简单的经验总结,但是在我看来这些经验只有在你真正的封装rabbitmq客户端库的时候且将你的客户端安全稳定的发布上线后才会真的发现这些问题。比如你的库只是链接单个Node的时候...
2015-08-22 21:27:00
64
转载 软件工程—思考项目开发那些事(一)
阅读目录:1.背景 2.项目管理,质量、度量、进度 3.软件开发是一种设计活动而不是建筑活动 4.快速开发(简单的系统结构与复杂的业务模型) 5.技术人员的业务理解与产品经理的业务理解的最终业务模型5.1.产品的业务理解(业务流程、数据流程及场景) 5.2.技术人员的业务理解(领域模型、设计模型、抽象建模)6.技术债务(腐烂的遗留代码)...
2015-08-01 16:14:00
396
转载 SOA架构设计经验分享—架构、职责、数据一致性
阅读目录:1.背景介绍 2.SOA的架构层次2.1.应用服务(原子服务) 2.2.组合服务 2.3.业务服务(编排服务)3.SOA化的重构3.1.保留服务空间,为了将来服务的组合4.运用DDD+GRASP进行分析和设计(防止主观的判断导致错误的假设) 5.SOA分布式下的数据一致性5.1.分布式事务(基于DTC的分布...
2015-05-07 21:49:00
314
转载 新书出版《.NET框架设计—模式、配置、工具》感恩回馈社区!
很高兴我的第一本书由图灵出版社出版。本书总结了我这些年来对框架学习、研究的总结,里面纯干货,无半句废话。书的详情请看互动网的销售页面:http://product.china-pub.com/3770890精彩推荐:“这本书最大的价值就在于告诉你如何在实战中运用平时学到的知识,如何站在不同的角度分析和解决问题。与市面上其他图书不同,这本书中的内容都是清培在工作中遇到...
2015-01-27 20:04:00
139
转载 .NET应用程序调试—原理、工具、方法
阅读目录:1.背景介绍 2.基本原理(Windows调试工具箱、.NET调试扩展SOS.DLL、SOSEX.DLL)2.1.Windows调试工具箱 2.2..NET调试扩展包,SOS.DLL、SOSEX.DLL 2.3.调试系统的基本流程及架构(.NETDAC概念、mscordacwks.dll) 2.4.VisualStudio中集成扩展调试(更加细粒...
2014-10-15 21:34:00
337
转载 .NET程序员项目开发必知必会—Dev环境中的集成测试用例执行时上下文环境检查(实战)...
Microsoft.NET 解决方案,项目开发必知必会。从这篇文章开始我将分享一系列我认为在实际工作中很有必要的一些.NET项目开发的核心技术点,所以我称为必知必会。尽管这一系列是使用.NET/C#来展现,但是同样适用于其他类似的OO技术平台,这些技术点可能称不上完整的技术,但是它是经验的总结,是掉过多少坑之后的觉醒,所以有必要花几分钟时间记住它,在真实的项目开发中你就知道是...
2014-09-15 20:18:00
116
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人