架构师之路
文章平均质量分 90
TGITCIC
一个始终站在技术前沿的人,喜欢传播最先进的技术和理念。
展开
-
PPT制作能力在职场中真的重要吗?一定要美术功底才能学好PPT吗?
我推出PPT技能培训专栏啦!好的PPT可以让你事半功倍、2023拥有PPT能力还可以让你具备一门极有价值的斜杠能力。更多内容请进:梦幻训练营专栏。专栏内会用本人积累的近10年的PPT学习方法论在短时间内教会你如何制作出精美绝伦的PPT,每篇教程后还会免费赠送一些小福利,不可多得。原创 2023-06-08 10:13:25 · 544 阅读 · 0 评论 -
35-40的技术人员为什么会被“不友好”,请你们自身反思-拒做职场的“嗯嗯”怪
IT职场对35-40的大龄程序员不友好,可是这是为什么呢?职场上90%实际为“嗯嗯怪”,那么为什么“嗯嗯怪”这么不受待见呢?企业如何鉴别“嗯嗯怪”以及我们作为打工者自身如何跳脱被当作一个“嗯嗯怪”呢?笔者希望以此文给到相关大龄人员一些启示。原创 2023-05-08 18:48:08 · 757 阅读 · 0 评论 -
apache log4j2漏洞攻防演练与补丁升级说明
log4j2的漏洞没有大家想像的那么可怕,全文演示了这个漏洞即不可怕也可怕的原因以及有漏洞时的攻击效果和升级完后攻击无效是怎么样的效果,用以帮助大家如何验证升级后的log4j2是否有效的目的。原创 2021-12-14 15:15:39 · 6104 阅读 · 0 评论 -
rabbitmq集群搭建以及万级并发下的性能调优
一、服务器列表ROLE OPERATING SYSTEM NAME SIZE AVAILABILITY SET PRIVATE IP ADDRESS DATA DISKS MOUNT POINT Environment version Listen Port RabbitMQ01 OpenLogic/CentOS/7.4 aceta022vu11 Standard_DS2_v2(2 vcpus, 7 GB memor...原创 2021-05-11 10:17:56 · 4311 阅读 · 2 评论 -
zookeeper集群应对万级并发的调优
核心参数解说tickTime,这个参数叫各节点前心跳保持的频率,你即不能太高也不能太低,太高了各zk节点间万一有一个挂了那么整个zk的master群来不及选举出来了就会影响到整人本业务。如果太低了,那么zk群间因为频繁心跳而导致网络开销过大; initLimit,这个值是这样的,要看真实的并发连接的。类似这种initXXX值有一个通则,那就是理论上要把它设成和maxXXX一样,大家设想一下,一开始你设成1,然后整个connection pool发觉不够了开始+1,+1操作,这种“+1”操作是有系统开销原创 2021-05-11 09:47:23 · 2596 阅读 · 0 评论 -
彻底解决jdbc数据库连接超时重试-communication link failure的正确姿势
必须确保你的druid jdbc版本为1.2.6这个问题只有在druid 1.2.6里解决,因为只要是低于druid 1.2.6版本,本身就存在bug,无论你怎么设都会打断连接。背景我们经常会在日志中看到“jdbc connection timeout, last connection was 11,080 ms这样的错误。这个代表MYSQL主动把你的jdbc连接给踢掉了。为什么MYSQL要踢掉connection?这个很正常,那是因为:MYSQL不可能无限接在接受一个数据库连接请求原创 2021-05-11 09:40:03 · 16091 阅读 · 3 评论 -
阿里的nacos+springboot+dubbo2.7.3集成以及统一处理异常的两种方式
在网上很多关于dubbo异常统一处理的博文,90%都是抄来抄去。大多都是先上一段dubbo中对于异常的统一处理的原码,然后说一堆的(甚至有12345,五种)不靠谱方案,最后再说“本篇使用的是方案4”,然后再对所谓的方案4写了一段文字,最后还说不清!!!本篇解决方案不会那么罗里吧嗦也不会贴dubbo源码来凑字数,我就直接从刚结束不久的双11保卫战性能全链路优化中我们的面对10万级别TPS的方案中...原创 2020-01-10 00:27:18 · 19356 阅读 · 8 评论 -
OWASP Top 10十大风险 – 10个最重大的Web应用风险与攻防
先来看几个出现安全问题的例子OWASP TOP10开发为什么要知道OWASP TOP10TOP1-注入TOP1-注入的示例TOP1-注入的防范TOP1-使用ESAPI(https://github.com/ESAPI/esapi-java-legacy)TOP2-失效的身份认证和会话管理TOP2-举例TOP3-跨站TOP3-防范TOP3-复杂的 HTML 代码提交,如何处理?原创 2016-09-18 14:45:55 · 79917 阅读 · 10 评论 -
加解密、PKI与CA基础
介绍这门知识如果以前尝过的各位想必都知道:枯燥无比!因此在文中我会尽量讲的生动些,举一些例子,并试图以一个完整的例子来贯穿整个讲述过程。今年又恰逢莎翁逝世400周年,一方面也为了纪念这位伟大的作家、戏曲家因此我引用了莎翁中“哈姆雷特”的例子。加解密的历史起源公元前400年,古希腊人发明了置换密码。加密领域源于Julius Caesar 和罗马帝国。Caesar用一简单的加密方法(如图),来跟他的将原创 2016-08-18 11:23:09 · 52815 阅读 · 4 评论 -
Apache ActiveMQ实战(1)-基本安装配置与消息类型
ActiveMQ是一种开源的,实现了JMS1.1规范的,面向消息(MOM)的中间件,为应用程序提供高效的、可扩展的、稳定的和安全的企业级消息通信。ActiveMQ使用Apache提供的授权,任何人都可以对其实现代码进行修改。ActiveMQ的设计目标是提供标准的,面向消息的,能够跨越多语言和多系统的应用集成消息通信中间件。ActiveMQ实现了JMS标准并提供了很多附加的特性。这些附加的特性包括,JMX管理(java Management Extensions,即java管理扩展),主从管理(master原创 2016-07-06 10:13:45 · 37274 阅读 · 9 评论 -
Apache ActiveMQ实战(2)-集群
本人把平时在项目中通过对ActiveMQ的各种集群搭建研究经验,总结出了基于ActiveMQ的各种集群间的比较、搭建步骤和各种坑。在文中还给出了一个基于zookeeper+broker cluster组合而成的完美解决方案,篇幅较长需要读者耐心看完和动手去消化。该套教程联合之前的实战教程(1)构成一套完整的企业级ActiveMQ的解决方案,希望对读者有帮助。原创 2016-07-09 23:54:31 · 17832 阅读 · 21 评论 -
CentOS环境下使用GIT基于Nginx的私服搭建全过程
安装GIT私服套件安装centos6.5-centos7.0安装nginxyum install -y?git gitweb spawn-fcgi?fcgi-devel?fcgi以上步骤执行完毕后,我们安装了:git服务Gitweb,因为git是一个光板,只支持 git clone gituser@hostname:/repositories这样的协议,对于eclipse开发者来说键入一堆的git原创 2016-06-13 16:22:19 · 19515 阅读 · 7 评论 -
JBOSS EAP实战(2)-集群、NGINX集成、队列与安全
JBOSS集群是从3.X开始那差不多是在14年前就开始支持集群了。目前的JBOSS EAP6.2-6.4或者是JBOSS8.0(WILDFLY)对于集群的支持已经到了登峰造极的地步了,而且最主要的是JBOSS的集群具有以下特色:任意横向、纵向折分、JBOSS VM-JBOSS自己可以虚拟出一堆的JBOSS来、集中管控,即Controller,利用这一点它可以做到一点布署多点应用,这种集中统一布署的功能只有在IBM的WAS中才具有,即Domain Management的功能,本文还将详细描述JBOSS EAP原创 2016-06-28 02:41:38 · 12372 阅读 · 2 评论 -
Oracle性能优化-读懂执行计划
即便是普通的程序员也必须要懂得SQL的执行原理,对于程序员来说DB不仅仅只是一个File Storage Device而是一门技术。不要以为PLSQL的原理和优化和“我”无关,“我”只关注业务的实现而不关注性能和它的机理,如果长此以往项目性能得不到保障、产品无可持续发展能力、更多的是作为IT技术人员的“我们”会被“废掉”。95年时中国有一门考试叫“程序员考试”,考试中“SQL”占到30%的分数就可见作为一名“合格”的程序员,SQL是你的基本功夫不能废弃。本文从4个维度3种工具给出了高实战性的PLSQL执行计原创 2016-05-05 10:23:53 · 70240 阅读 · 5 评论 -
JBOSS EAP实战(1)
JBOSS的诞生1998年,在硅谷SUN公司的SAP实验室,一个年轻人正坐在电脑前面思考,然后写着什么东西。不,他没有在写程序,他在写辞呈。他正在做出人生的一个重大决定:他要辞掉在SUN的这份工作,投身到open source的开发。旁边好多朋友在劝他,这样的做法是"moving down the food chain"(应该是丢掉铁饭碗的意思),这是他整个职业生涯的下坡路。但是这个年轻人却义无反原创 2016-05-11 10:12:26 · 19273 阅读 · 6 评论 -
jboss规则引擎KIE Drools 6.3.0 Final 教程(1)
世面上成熟的规则引擎有很多,著名的如:IBM 的iLog,pegga rulz(飞马),我们在这边要介绍的也是开源中最著名的jboss rulz。Jboss Rulz最早是只有基于.drools的规则文件的一个内嵌式规则引擎,后来它发展成了“规则管理系统”即BRMS,它的BRMS被称为Guvnor。后来在JBOSS Guvnor5.x后它又改名叫"KIE Drools WorkBench“。目前世面上中文的KIE DROOLS Workbench(JBOSS BRMS)的教程几乎没有,有的也只有灵灵碎碎原创 2016-04-13 17:32:58 · 47165 阅读 · 36 评论 -
jboss规则引擎KIE Drools 6.3.0 Final 教程(3)
在前2部教程中,介绍了如何在本地运行.drools文件以及使用stateless的方法访问远程repository上的规则。 KIE Drools还提供了一种叫有状态-stateful的访问方式。运行KIE-DROOLS上的规则-另一种写法先上代码String url = "http://192.168.0.101:8080/kie-drools/maven2/org/sky/drools/App原创 2016-04-14 13:38:32 · 16627 阅读 · 1 评论 -
jboss规则引擎KIE Drools 6.3.0 Final 教程(2)
世面上成熟的规则引擎有很多,著名的如:IBM 的iLog,pegga rulz(飞马),我们在这边要介绍的也是开源中最著名的jboss rulz。Jboss Rulz最早是只有基于.drools的规则文件的一个内嵌式规则引擎,后来它发展成了“规则管理系统”即BRMS,它的BRMS被称为Guvnor。后来在JBOSS Guvnor5.x后它又改名叫"KIE Drools WorkBench“。目前世面上中文的KIE DROOLS Workbench(JBOSS BRMS)的教程几乎没有,有的也只有灵灵碎碎原创 2016-04-14 09:39:23 · 21199 阅读 · 29 评论 -
亲密接触Redis-第三天(Redis的Load Balance)
前言上两天讲述了Redis的基本搭建和基于HA的集群布署方式以及相关的策略和注意点。今天开始讲述Redis的Cluster功能,而这块目前来说网上资料不是太全,就算有1,2篇也只是单讲服务端的搭建也并未提及相关的客户端怎么和Redis Cluster间的调用问题。我们今天要讲述的Redis Cluster是真正的Load Balance,它和Sentinel不一样,Sentinel虽然也叫集群,可原创 2016-03-14 14:37:11 · 11190 阅读 · 4 评论 -
亲密接触Redis-第二天(Redis Sentinel)
简介经过上次轻松搭建了一个Redis的环境并用Java代码调通后,这次我们要来看看Redis的一些坑以及Redis2.8以后带来的一个新的特性即支持高可用特性功能的Sentinel(哨兵)。Redis的一些坑Redis是一个很优秀的NoSql,它支持键值堆,查询方便,被大量应用在Internet的应用中,它即可以用作Http Session的分离如上一次举例中的和Spring Session的结合原创 2016-02-14 04:13:44 · 14704 阅读 · 23 评论 -
MySQL系列教程(一)
摘要MySQL的最初的核心思想,主要是开源、简便易用。其开发可追溯至1985年,而第一个内部发行版本诞生,已经是1995年。到1998年,MySQL已经可以支持10中操作系统了,其中就包括win平台。此文档将从安装开始带领着读者一步步深入了解mySQL相关功能,该文由作者多年实战经验的总結而组成,其中包括如下内容:近几十条优化经验mySQL集群、主备多种SQL优化分析手段mySQL读写分离mySQ原创 2016-09-19 09:55:35 · 23743 阅读 · 27 评论 -
MySQL系列教程(二)
mySQL执行计划语法 explain 例如: explain select * from t3 where id=3952602;explain输出解释 +----+-------------+-------+-------+-------------------+---------+---------+-------+------+-------+| id | select_type | ta原创 2016-09-20 12:12:38 · 9249 阅读 · 5 评论 -
全渠道零售中台与数字化转型(1)-中台的前世今身
本系列博客的目标是计划使用近半年时间创造:国内唯一一部从业务场景到技术设计,从企业战略考虑到技术细节落地的大全; 全文贯穿了企业架构、SOA、微服务,纵横业务与技术之间説透“全渠道”中台; 全渠道零售中台与数字化转型(1)-中台的前世今身 全渠道零售中台与数字化转型(2)-中台给企业业务带来什么实际的价值 全渠道零售中台与数字化转型(3)-中台给企业技术带来什么实际的价值? 全渠...原创 2019-06-25 15:37:59 · 9594 阅读 · 7 评论 -
双12使用腾讯云WAF反羊毛党、黄牛党战纪全记录
近来拼多多爆出的羊毛党事件使得计算机信息安全再次被提到人们的面前,原本属于计算机安全学科中的“薅羊毛”这一专有名词也被众多普通人所熟知。通过拼多多事件还原我们得知它其实是一个非常简单的“低级错误”导致。只需花费4毛钱就可以领取一张100元的无门槛优惠券,而不设“总量限制与单用户限制”。这一消息瞬间在薅羊毛行业内流传开来。凌晨5点左右,在羊毛党内部已经彻底发酵的“抢券行动”,被发布到了一些公开论...原创 2019-01-28 22:07:59 · 6227 阅读 · 3 评论 -
面试官培训-实战篇
通过前篇的《面试官培训-基础篇》我们知道了面试官的一些基本素质,本章主要讲的是一个面试官的“硬实力”,希望读者通过这2篇的结合可以成为一个优秀的技术面试官。原创 2017-07-27 13:12:30 · 19298 阅读 · 15 评论 -
面试官培训-基础篇
简述面试的重要性面试的重要性面试的原则电话面试原则F2F面试原则如何定位侯选人是否适用一、深刻理解工作特征和对人才的要求熟悉招聘岗位的工作内容,组织关系,工作难点,需要的资源和支持。了解该岗位人员必须的技能、知识、经验、背景资源等等, 除了必须的条件外,具有什么个性特征的人更适合做好这份工作?为了更好地把握岗位特征与人才的契合,可对照分析以前从事该岗位人员的特征:什么样的人曾经在此岗位上做得很优秀原创 2017-07-19 11:46:59 · 28639 阅读 · 8 评论 -
jboss规则引擎KIE Drools 6.3.0-集群篇
16年为公司搭建风控引擎的核心基础,在当时我们发觉JBOSS Drools具有着无与伦比的优势,它是仅次于IBM iLog的一规开源免费引擎。而当时在Jboss Drools如何可以使用在大型生产环境上一度碰到了瓶劲。因为无论是国外还是国内均无此方面的资料,笔者经过在Google各种讨论组一顿狂轰乱炸般的提问后最终有一个印度阿三回答了我的问题,在经过和他深入讨论后,打通了整个jboss drools从基本环境到生产环境再到集群环境和各种使用方法的全流程,在再三讨教下发觉这个印度三其实只是一个在美国半工半打的原创 2017-07-04 10:45:27 · 15761 阅读 · 6 评论 -
jboss规则引擎KIE Drools 6.3.0-高级讲授篇
国内唯一一篇全流程讲述生产环境中的JBOSS DROOLS是如何使用的教程,该教程弥补了官方教程灵碎、版本过于陈旧、API函数部分已经被废弃的一系列问题。因此这也是对JBOSS官方QUICK START的一份全面补充教程,后续教程会公布国内外均无完整体系的JBOSS DROOLS如何应用于大规模生产环境中的集群、主备的解决方案。原创 2017-03-07 14:47:53 · 14014 阅读 · 23 评论 -
mysql5.7在centos上安装的完整教程以及相关的“坑”
安装前的准备Step1: 如果你系统已经有mysql,如一般centos自带mysql5.1系列,那么你需要删除它,先检查一下系统是否自带mysqlyum list installed | grep mysqlStep2: 删除系统自带的mysql及其依赖命令yum -y remove mysql-libs.x86_64Step3: 给CentOS添加rpm源,并且选择较新的源命令wget dev原创 2016-11-25 17:03:15 · 9007 阅读 · 3 评论 -
规则引擎-BRMS在企业开发中的应用
1. 什么是规则复杂企业级项目的开发以及其中随外部条件不断变化的业务规则(business logic),迫切需要分离商业决策者的商业决策逻辑和应用开发者的技术决策,并把这些商业决策放在中心数据库或其他统一的地方,让它们能在运行时(即商务时间)可以动态地管理和修改从而提供软件系统的柔性和适应性。规则正是应用于上述动态环境中的一种解决方法。2.规则产生的背景一个...原创 2016-10-17 12:07:54 · 15527 阅读 · 12 评论 -
通向架构师的道路(第三天)之apache性能调优
一、总结前一天的学习在前两天的学习中我们知道、了解并掌握了Web Server结合App Server实现单向Https的这样的一个架构。这个架构是一个非常基础的J2ee工程上线布署时的一种架构。在前两天的教程中,还讲述了Http服务器、App Server的最基本安全配置(包括单向https的实现), 它只是避免了用户可以通过浏览器侵入我们的Web访问器或者能够通过Web浏览器来查询我们的Web原创 2012-07-01 23:30:30 · 73729 阅读 · 40 评论 -
MySQL系列教程(五)
MyCATMyCat是基于阿里开源的Cobar产品而研发,Cobar的稳定性、可靠性、优秀的架构和性能以及众多成熟的使用案例使得MYCAT一开始就拥有一个很好的起点,站在巨人的肩膀上,我们能看到更远。业界优秀的开源项目和创新思路被广泛融入到MYCAT的基因中,使得MYCAT在很多方面都领先于目前其他一些同类的开源项目,甚至超越某些商业产品。原创 2016-10-25 12:44:58 · 7692 阅读 · 5 评论 -
MySQL系列教程(三)
mySQL集群(cluster)这一章,我根本不打算写,因为mySQL 的 官方Cluster方案基本上都是bullshit,尤其是它的官方集群方案,竟然都无人维护了,而且mySQL集群完全可以用眼下另一种方案去做替换,根本无需做成cluster。因此,在这一章为了不浪费读者的宝贵时间,我只会列出mySQL集群的几种比较方案,目前有一些第三方提供的mySQL集群方案还是不错的选择。MySQL的cl原创 2016-09-28 15:48:39 · 6853 阅读 · 3 评论 -
MySQL系列教程(四)
文件打开数(open_files)我们现在处理MySQL故障时,发现当Open_files大于open_files_limit值时,MySQL数据库就会发生卡住的现象,导致Nginx服务器打不开相应页面。这个问题大家在工作中应注意,我们可以用如下命令查看其具体情况: show global status like 'open_files';+---------------+-------+|Var原创 2016-10-13 14:26:45 · 7519 阅读 · 3 评论 -
给PLSQL插上飞翔的翅膀-PLSQL优化
60-80% of database performance issues are related to poorly performing SQL,60-80%的数据库性能问题要归结于生产中糟糕的SQL语句,以此一文来总结笔者近10多年来的工作经验并基于最基本的也是最有效的对于Oracle数据库中的RBO、CBO、索引、WHERE条件进行讲解同时配以大量案例来帮助读者从此文中学到的相关的理论知识快速的运用到其正在从事的生产环境中的优化过程中去。原创 2016-03-30 13:06:58 · 14880 阅读 · 8 评论 -
亲密接触Redis-第一天
网上唯一一篇真正正确的教你如何使用redis,避免在使用过程中因为对redis不够了解而在以后实施的过程中碰到各种严重瓶劲的教程,教程内不仅讲述了redis的使用还讲述了如何使用docker来搭建自己的redis微服务以及使用spring + redis来搭建实际生产环境的redis服务,同时该套教程还完整讲述了redis3中的新特性sentinel如何搭建以及在spring中如何访问sentinel的机制。原创 2016-02-03 17:10:24 · 18503 阅读 · 38 评论 -
使用阻塞式队列处理大数据
前言我们在日常开发中经常会有面对几十万、甚至上百万级别的数据导入导出的问题,如读一个含有50万行的TXT、CSV、EXCEL文件。此时我们经常想到的一个问题是如何利用多线程来解决数据处理效率的问题,如果你面对的是两个不同的数据库文件对导,那多线程读/写将不成为问题,随你怎么发挥都可以,关键在于对于一个含有大数据量的文件如何用多线程去读/写将成为一般程序人员的恶梦。原创 2016-01-27 16:00:23 · 18535 阅读 · 33 评论 -
通向架构师的道路(第二十三天)maven与ant的奇妙整合
一、前言我们在《万能框架spring》前四天中都用到了maven,接下去要讲述在SSX这样的架构下我们的“单元测试”是怎么进行的,但是在此之前我们再来深入入解一下maven,因为我们的单元测试需要用到的是junit+ant+junitreport这样的组合。而。。。。。。由于我们已经使用了maven,那么我们如何可以延续经典的junit+ant这样的单元测试的组合呢?其答案就是把maven和ant原创 2012-11-19 12:04:15 · 29360 阅读 · 30 评论 -
通向架构师的道路(第二十二天)万能框架spring(四)使用struts2
一、前言SSH有了,现在我们要把我们的struts层从原来的1.3替换成struts2.x,引入了struts2.0后我们会发觉我们的代码和框架的变化还是不小的二、Struts2的好处1)在struts2的方法里,一切变量是线程安全的,而原有的struts1不是的;2)在struts2中如果你声明了如下这样的代码: privater String studentName=””; p原创 2012-11-16 23:51:53 · 15882 阅读 · 19 评论 -
通向架构师的道路(第二十一天)万能框架spring(三)之SSH
一、前言我们有了Spring+JdbcTemplate和Spring+iBatis并结合maven的基础,搭建一个SSX这样的框架现在就和玩一样的简单了,今天我们将搭建一个使用Struts1.3,Srping3, Hibernate3的SSH1的开发框架,大家跟着我一步步走,会发觉在程序跑通后自己再动手搭建一遍这个框架,只需要30分钟。二、SSH框架仔细看这个框架,稍微有点不一样了。1)原创 2012-11-12 13:55:30 · 15477 阅读 · 34 评论