自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(53)
  • 资源 (35)
  • 收藏
  • 关注

原创 缓存使用规范

前言:有赞开始制定自己的技术规范,应邀请,笔者负责“缓存使用规范”的制定,摘去部分保密内容,分享给大家。一、为什么要使用缓存1、业务视角根据谷歌的一项研究,假如一个网站在3秒钟或更短时间内没有加载成功,会有 53% 的手机用户会离开。因此在提高应用程序的速度和性能上,每一毫秒都很重要,这直接影响了业务的留存率、转化率。2、技术视角大型网站的特点有高并发、大流量、用户分布广泛、网...

2019-11-24 11:42:08 1270

转载 有赞透明多级缓存解决方案(TMC)

前言:原文发表于“有赞技术博客”,笔者有幸作为TMC中间件的开发组成员,深度参与了该项目的研发,希望给更多技术人带来新的思考。一、引子1-1. TMC 是什么TMC ,即“透明多级缓存( Transparent Multilevel Cache )”,是有赞 PaaS 团队给公司内应用提供的整体缓存解决方案。TMC 在通用“分布式缓存解决方案(如 CodisProxy + R...

2019-08-18 16:21:44 737

原创 幂等概念及使用普及

前言:应TL的邀请,在团队内做一次幂等相关的总结和分享一、幂等概念及使用1、什么是幂等?首先,我们需要了解下幂等的概念:https://baike.baidu.com/item/%E5%B9%82%E7%AD%89/8600688?fr=aladdin注意这句话:“一个幂等操作的特点是其任意多次执行所产生的影响均与一次执行的影响相同”。这里的意思就是用户对于同一种操作发起的...

2019-08-18 15:59:17 2794

原创 有赞客户运营系统的演进

原文发表于有赞技术博客,作为2019年上半年笔者在有赞的一次小总结吧。一、引子有赞,是一个商家服务公司。我们帮助每一位重视产品和服务的商家私有化顾客资产、拓展互联网客群、提高经营效率,全面助力商家成功。而拉新、留存、促活、转化则是商家经营的关键指标。随着线上线下流量越来越贵,商家对客户精准运营诉求越来越强烈。有赞客户运营相关的业务产品也在近一年不断推陈出新。二、早期“烟囱式”系统...

2019-07-14 15:28:44 1464

原创 读书笔记:《企业IT架构转型之道》

前言:有赞最近开始在做平台化的事情,作为共享技术部门的成员,那么自然去要去参与平台化。偶然间,从同事那看到这本书,随意翻了下,不禁感觉相遇恨晚。第1章:阿里巴巴集团中台战略引发的思考第2章:构建业务中台的基础-共享服务体系第3章:分布式服务框架的选择第4章:共享服务中心建设原则第5章:数据拆分实现数据库能力线性扩展第6章:异步化与缓存原则第7章:打造数字化运营能力...

2019-01-19 22:02:51 2466

原创 读书笔记:《实现领域驱动设计》

前言:有赞scrm的复杂度越来越高,作为业务中台,为了给业务方爸爸们提供更好更快的底层能力支持,开始走向了平台化。之前听从部门架构师的建议,没有一定的业务积累,不要学习DDD相关的内容,当时只是很零碎的看了一些领域建模的文章。这次正好有幸作为第一批参与平台化建设的人,斗胆系统性的开始学习领域建模。书中其实也在权衡技术细节与DDD的实现,有非常多的取舍的地方,所以完美的DDD实现在现有技术组件下...

2018-11-24 19:42:47 4532

原创 Zookeeper概念知识

课题:zk选举算法、ZAB原子广播协议如何实现的,CAS、Paxos1、Zookeeper简介        Zookeeper是一个高效的分布式协调服务,它暴露了一些公用服务,比如:命名/配置管理/同步控制/群组服务等。我们可以使用ZK来实现比如:达成共识/集群管理/Leader选举等。        Zookeeper是一个高可用的分布式管理与协调框架,基于ZAB算法(原子消息广播...

2018-11-13 09:44:11 1282

原创 读书笔记:《软件架构师应该知道的97件事》

前言:本书是部门架构师推荐我阅读的,他认为适合我当下的状态。原本看到书名觉得特别low,感觉就像市面上各种成功学一样。但基于o'reilly的名声,还是阅读了一遍,果然收获匪浅。 1、业务目标至上。客户需求重要于个人简历(个人诉求、个人看法、技术实现难度成本等)分析客户需求背后的意义,了解真实意图,砍掉伪需求。明确自己是谈判,维护必须的利益。而不是各种妥协,只为了追求合作。...

2018-11-02 19:11:49 1037

原创 JVM系列知识

博客:http://www.cnblogs.com/redcreen/archive/2011/05/04/2036387.htmljvm系列知识汇总: https://mp.weixin.qq.com/s/M2IYpIjo02CvgMptvlUKZw《深入理解java虚拟机》(精华):http://www.cnblogs.com/prayers/p/5515245.htmljvm调优...

2018-09-09 20:52:29 1408

原创 Java网络通信编程基础

1、Socket        Socket又称“套接字”,应用程序通过“套接字”向网络发出请求或者应答网络请求。        Socket和ServerSocket类库位于java.net包中。ServerSocket用于服务器端,Socket是建立网络连接时使用的。在连接成功时,应用程序两端都会产生一个Socket实例,操作这个实例,完成所需的会话。对于一个网络连接来说,套接字是平等...

2018-07-22 20:19:48 3073

原创 Java并发编程基础

操作系统时间片1、线程安全(一般通过给被访问者加锁实现)        当多个线程访问某一个类(对象或方法)时,这个类始终都表现出正确的行为,那么这个类(对象或方法)就是线程安全的。2、synchronized关键字        可以在任意对象及方法上加锁,而加锁的这段代码称为“互斥区”或“临界区”。3、多个线程多个锁        多个线程,每个线程都可以拿自己指定的锁,分别获得锁之后,执行s...

2018-07-07 16:25:12 3615

原创 读书笔记:《代码大全2》

        本书在笔者实习时就已经开始阅读,按照自己的所处阶段有间隔的分成了3次阅读,一直到现在终于完成了。读者千万不要认为这本书真的只是“代码大全”,在我看来,这本书就是软件工程师的心法,提升软件工程的认知、意识。各种技术层出不穷,也有很多技术最终消失在时间里,但这本书的精髓则适用于每一代软件开发者。        本身还提供了各方面的CheckList,可以借助这部分CheckList培养...

2018-06-16 20:45:55 7060 1

原创 再读《设计模式解析》

前言:应部门架构师的建议,今年5月再阅读了一次该书,确实又有了新的收获,从全局有了更清晰的认识,也让自己体会到该如何去分析、解决问题。建议读本书时,能够去观察到作者编写该书时的思路,有利于我们更深层次的理解设计模式的本质。第1部分:面向对象软件开发简介该部分以更独特的观点阐述了作者关于面向对象的理解。针对类、封装、继承、多态等面向对象术语进行了更本质的描述。读完后有种醍醐灌顶的感觉。类:根据对象所...

2018-06-06 20:37:36 1381

原创 读书笔记: 《亿级流量网站架构核心技术》(开涛的那本)

这本书知识范围广,但都浅尝辄止,可以用来开阔视野,由于之前看过李智慧的《大型网站技术架构》,有部分内容是重合的,所以翻起来比较快。这里只记录下之前没太了解的点第1章:交易型系统设计的一些原则开场白太棒了,想全部记录下来,本章还记录了一些设计的原则。1、一个好的设计要做到,解决现有需求和问题,把控实现和进度风险,预测和规划未来,不要过度设计,从迭代中演进和完善。2、墨菲定律:任何事都没有表面看起来那...

2018-05-13 21:36:54 3657

原创 解决服务器缓存失效后可能导致的雪崩问题(thinkphp为例)

1、什么是雪崩问题?        为了加快网站访问速度,也为了减少服务器资源消耗和压力,将页面在一段时间内静态化、设置缓存是我们常用的手段,这样在缓存失效前,就不用再去访问数据库。但是当缓存失效的一瞬间,服务器需要访问数据库,重新生成缓存文件。假如一个网站的并发性很高,这一瞬间的访问量可能也很高,而数据库是非常脆弱的,对数据库过高的访问请求数可能会导致数据库直接挂掉,造成服务器瘫痪,这就是缓存失...

2018-04-15 20:23:00 3872 1

转载 单表60亿记录等大数据场景的MySQL优化和运维之道 | 高可用架构

前言MySQL数据库大家应该都很熟悉,而且随着前几年的阿里的去IOE,MySQL逐渐引起更多人的重视。MySQL历史1979年,Monty Widenius写了最初的版本,96年发布1.01995-2000年,MySQL AB成立,引入BDB2000年4月,集成MyISAM和replication2001年,Heikki Tuuri向MySQL建议集成InnoDB2003发布5.0,提供了视图、存...

2018-04-15 20:21:10 11625 4

原创 Java8新特性(lambda、Stream、Optional)

1、λ表达式lambda表达式:λ表达式是Java8新增的一个特性,《Core Java》中的对它的解析是——“一个可传递的代码块,可以在以后执行一次或多次”。从日常开发的角度来看,它可以简化我们的很多代码(当然不止这一个原因),特别是很多匿名内部类的写法都可以被λ表达式替换成一个语句。λ表达式从本质上来看是语法糖,但它并不是简单的匿名内部类的语法糖,λ表达式的内部实现机制也都不是采用匿名内部类,...

2018-04-15 20:15:10 7279

原创 读书笔记:《深入分析Java Web技术内幕》

第1章:深入Web请求过程主要讲解了web请求流程涉及到的内容。包含B/S架构、简单的HTTP信息、DNS解析、CDN工作机制等。第2章:深入Java I/O的工作机制1、Java的I/O操作类可分成四组①基于字节操作的I/O接口:InputStream和OutputStream②基于字符操作的I/O接口:Writer和Reader③基于磁盘

2018-03-10 20:47:45 1982

原创 Java继承

1、关键字 thisthis关键字有两个作用:一是引用隐式参数:在类的实例方法调用时,会自动传递一个this的参数给方法(这个参数是隐式传递的)。所以在方法里可以使用this这个参数。this在方法中表示当前对象,其this关键字本身可以看成是一个引用,必要时可直接返回。二是在构造器中调用该类其他的构造器:this(….)方法必须出现在构造器中的第一行,用来调用其他重载构造器。调用时参

2018-02-14 14:48:47 1078

原创 读书笔记:《设计模式解析》

1、共性和可变性分析:    ①找到变化的地点,称为共性分析;然后找出如何变化,称为变性分析。    ②可变性只有在给了共性之后才有意义,也就是说,在找到共性之后,有助于进行可变性分析。    ③共性的概念将用抽象类表示,可变性分析所发现的变化将通过具体类实现(抽象类派生出的类。2、考虑变化的设计    ①面向接口进行编程,而不是面向实现的。    ②优先使用对象组

2017-11-27 14:11:00 2136

原创 架构实践

好架构是进化来的,不是设计来的(58架构演进)58同城推荐系统架构设计与实现从0开始做互联网推荐-以58转转为例从0开始做垂直O2O个性化推荐-以58到家美甲为例58到家入驻微信钱包的技术优化创业公司快速搭建立体化监控之路(WOT2016)巧用CAS解决数据一致性问题百度咋做长文本去重(一分钟系列)如何快速实现高并发短文检索如何实现超高并发的无锁缓存?“id串行

2017-08-27 22:38:29 304

原创 消息系统

一、即时通讯微信为什么不丢消息?微信为啥不丢“离线消息”?群消息这么复杂,怎么能做到不丢不重?微信多点登录与QQ消息漫游架构随想QQ状态同步究竟是推还是拉?消息“时序”与“一致性”为何这么难?58到家通用实时消息平台架构细节微信为啥这么省流量?应用层/安全层/传输层如何进行协议选型?http如何像tcp一样实时的收消息?

2017-08-27 22:31:06 232

原创 服务化与微服务

互联网架构为什么要做服务化?微服务架构多“微”才合适?为什么说要搞定微服务架构,先搞定RPC框架?微服务架构之RPC-client序列化细节RPC-client异步收发核心细节?

2017-08-27 22:23:54 382

原创 数据库与缓存

数据库软件架构设计些什么缓存架构设计细节二三事细聊冗余表数据一致性(架构师之路)缓存与数据库一致性保证主从DB与cache一致性DB主从一致性架构优化4种方法多库多事务降低数据不一致概率mysql并行复制降低主从同步延时的思路与启示互联网公司为啥不使用mysql分区表?(一分钟系列)即使删了全库,保证半小时恢复啥,又要为表增加一列属性?这才是真正的表扩展

2017-08-24 19:30:31 315

原创 方法论&知识点

秒杀系统架构优化思路

2017-08-24 10:34:45 534

原创 运维

一、线上问题线上服务内存OOM问题定位三板斧

2017-08-24 09:44:43 261

转载 关于SOA服务化

soa服务化,SOA,这个诱惑的很多人都想对系统做服务化的改造,但你真的需要服务化吗?所谓的服务化,是指根据业务的职责划分为多个系统,系统之间的交互以服务的方式进行,这样的好处看起来就是系统的职责变得非常清晰。但其实呢,服务化并不仅仅是一个纯粹的技术改造,服务化就意味着业务是由多个系统构成,这个时候首先会产生的第一个核心问题是需要有相应的人员来维护,在服务

2017-02-10 14:24:00 794

转载 Flex 布局教程:语法篇

网页布局(layout)是CSS的一个重点应用。布局的传统解决方案,基于盒状模型,依赖 display属性 + position属性 + float属性。它对于那些特殊布局非常不方便,比如,垂直居中就不容易实现。2009年,W3C提出了一种新的方案----Flex布局,可以简便、完整、响应式地实现各种页面布局。目前,它已经得到了所有浏览器的支持,这意味着,现在就

2017-01-03 20:11:10 456

转载 Cookie与Session的区别-总结很好的文章

本文分别对Cookie与Session做一个介绍和总结,并分别对两个知识点进行对比分析,让大家对Cookie和Session有一个更深入的了解,并对自己的开发工作中灵活运用带来启示。cookie机制Cookies是服务器在本地机器上存储的小段文本并随每一个请求发送至同一个服务器。IETF RFC 2965 HTTP State Management Mechanism 是通用coo

2016-12-24 16:58:36 229

转载 敏捷开发之Scrum扫盲篇

现在敏捷开发是越来越火了,人人都在谈敏捷,人人都在学习Scrum和XP... 为了不落后他人,于是我也开始学习Scrum,今天主要是对我最近阅读的相关资料,根据自己的理解,用自己的话来讲述Scrum中的各个环节,主要目的有两个,一个是进行知识的总结,另外一个是觉得网上很多学习资料的讲述方式让初学者不太容易理解;所以我决定写一篇扫盲性的博文,同时试着也与园内的朋友一起分享交流一下,希

2016-12-21 10:02:37 376

转载 Apache和Nginx运行原理解析

Web服务器Web服务器也称为WWW(WORLD WIDE WEB)服务器,主要功能是提供网上信息浏览服务。应用层使用HTTP协议。HTML文档格式。浏览器统一资源定位器(URL)。Web服务器常常以B/S(Browser/Server)方式提供服务。浏览器和服务器的交互方式如下: GET /index.php HTTP/1.1 +-----

2016-12-20 21:02:32 261

转载 nginx 与fastcgi、及动态语言配合的工作原理

一、什么是 FastCGIFastCGI是一个可伸缩地、高速地在HTTP server和动态脚本语言间通信的接口。多数流行的HTTP server都支持FastCGI,包括Apache、Nginx和lighttpd等,同时,FastCGI也被许多脚本语言所支持,其中就有PHP。FastCGI是从CGI发展改进而来的。传统CGI接口方式的主要缺点是性能很差,因为每次HTTP服务器遇到动态程序

2016-12-19 21:43:15 455

转载 mysql索引的详细介绍

/*所有MySQL列类型可以被索引。根据存储引擎定义每个表的最大索引数和最大索引长度。所有存储引擎支持每个表至少16个索引,总索引长度至少为256字节。大多数存储引擎有更高的限制。索引的存储类型目前只有两种(btree和hash),具体和存储引擎模式相关:MyISAM btreeInnoDB btreeMEMORY/Heap hash,btree默

2016-12-13 21:28:23 256

转载 PHPER职业阶段能力参照(仅供参考)

第一阶段:基础阶段(基础PHP程序员)重点:把LNMP搞熟练(核心是安装配置基本操作)目标:能够完成基本的LNMP系统安装,简单配置维护;能够做基本的简单系统的PHP开发;能够在PHP中型系统中支持某个PHP功能模块的开发。时间:完成本阶段的时间因人而异,有的成长快半年一年就过了,成长慢的两三年也有。1.Linux:基本命令、操作、启动、基本服务配置(包括rpm安装文件

2016-12-05 17:21:31 361

转载 HTTP简介,http是一个属于应用层的面向对象的协议

引言HTTP是一个属于应用层的面向对象的协议,由于其简捷、快速的方式,适用于分布式超媒体信息系统。它于1990年提出,经过几年的使用与发展,得到不断地完善和扩展。目前在WWW中使用的是HTTP/1.0的第六版,HTTP/1.1的规范化工作正在进行之中,而且HTTP-NG(Next Generation of HTTP)的建议已经提出。HTTP协议的主要特点可概括如下:1.支

2016-12-05 12:33:39 3047

转载 PHP高效率写法(详解原因)

1.尽量静态化:如果一个方法能被静态,那就声明它为静态的,速度可提高1/4,甚至我测试的时候,这个提高了近三倍。当然了,这个测试方法需要在十万级以上次执行,效果才明显。其实静态方法和非静态方法的效率主要区别在内存:静态方法在程序开始时生成内存,实例方法在程序运行中生成内存,所以静态方法可以直接调用,实例方法要先成生实例,通过实例调用方法,静态速度很快,但是多了会占内存。任何语言

2016-11-08 18:27:53 363

转载 PHP高手干货分享:不能不看的50个细节!

1、用单引号代替双引号来包含字符串,这样做会更快一些。因为PHP会在双引号包围的字符串中搜寻变量, 单引号则不会,注意:只有echo能这么做,它是一种可以把多个字符串当作参数的”函数”(译注:PHP手册中说echo是语言结构,不是真正的函数,故把函数加上了双引号)。2、如果能将类的方法定义成static,就尽量定义成static,它的速度会提升将近4倍。3、$row[‘id’]

2016-11-08 18:11:36 256

转载 《大型网站技术架构》读书笔记之八:固若金汤之网站的安全性架构

一、网站应用攻击与防御二、信息加密技术与密钥安全三、信息过滤与反垃圾四、电子商务风险控制五、学习总结  转眼之间,《大型网站技术架构》的读书笔记到此就结束了。最近时间非常紧,因此本篇没有详细对笔记进行介绍(本篇涉及太多内容,而且都是安全相关的)。通过本书的学习,我们从高性能、高可用、伸缩性、可扩展性、安全性五个方面的架构学习了

2016-10-31 10:41:32 241

转载 《大型网站技术架构》读书笔记之七:随需应变之网站的可扩展架构

一、可伸缩与可扩展—傻傻分不清楚  上篇笔记我们学习了可伸缩架构,但在实际场合中,包括许多架构师也常常混淆可伸缩和可扩展,用可扩展表示伸缩性。那么在此,跟随作者我们来理清这两个概念,避免我们以后对其傻傻分不清楚。  (1)扩展性(Extensibiltiy)  指对现有系统影响最小的情况下,系统功能可持续扩展或提升的能力。我们不禁想到了面向对象中一大原则:开闭原则,

2016-10-31 10:38:54 293

转载 《大型网站技术架构》读书笔记之六:永无止境之网站的伸缩性架构

首先,所谓网站的伸缩性,指不需要改变网站的软硬件设计,仅仅通过改变部署的服务器数量就可以扩大或者缩小网站的服务处理能力。在整个互联网行业的发展渐进演化中,最重要的技术就是服务器集群,通过不断地向集群中添加服务器来增强整个集群的处理能力。一、网站架构的伸缩性设计1.1 不同功能进行物理分离实现伸缩  (1)纵向分离:将业务处理流程上得不同部分分离部署,实现系统的伸缩性;

2016-10-31 10:37:24 399

http-Qt开发

http-QT

2015-09-24

进程间通信

进程间通信

2015-09-23

线程同步(互斥锁)

线程同步

2015-09-22

进程同步.docx

进程同步

2015-09-22

互斥锁例程

互斥锁例程

2015-09-22

名字解析及套接字地址

名字解析及套接字地址

2015-09-21

套接字信息函数

套接字信息函数

2015-09-21

并发服务器-多线程服务器详解

并发服务器-多线程服务器详解

2015-09-21

多进程服务器实例.

多进程服务器实例

2015-09-21

并发服务器-多进程服务器详解

并发服务器-多进程服务器详解

2015-09-18

重复性服务器实例

重复性服务器实例

2015-09-17

并发服务器基础详解

并发服务器基础详解

2015-09-17

UDP套接字详解

UDP套接字详解

2015-09-16

UDP套接字实例.

UDP套接字实例

2015-09-16

TCP套接字详解

TCp套接字详解

2015-09-16

例程——tcp

tcp简单代码示例

2015-09-16

嵌入式开发学习路线

嵌入式的学习路线,并附带相关不同阶段的推荐书籍

2015-09-13

Dao数据库工具类

方便对数据库进行操作的工具类,欢迎使用谢谢。

2015-12-24

数据结构实验(C语言)合集

所做的C语言数据结构的实验,欢迎共享,谢谢

2015-12-20

Java servlet初步使用

Java servlet初步使用,包括session。实现网上书店的简单功能,

2015-11-11

SqlHelper方便对数据库操作的类

方便对数据库进行操作的工具类,使用时,只需要调用此类,使用类里面的方法,参数为sql语句,及sql的参数数值,无参数可设置为null,使用前请详阅代码

2015-11-09

W3School最新版

W3Schoollixian最新版,分享给大家,附带W3School源码,谢谢

2015-10-30

web笔记(js,html)

web笔记(js,html)

2015-10-30

韩顺平轻松搞定网页设计 html+css+JS完整笔记

韩顺平的 html+css+JS 视频中的所有笔记,包括三个文档,分别是 html笔记,css笔记,JS 笔记,,十分全面,很高兴与大家分享,欢迎下载

2015-10-29

Java Web编程

java html js jsp oricle 网页制作与数据库交互,页面跳转等

2015-10-23

服务器客户端-socket(进程线程)

服务器客户端-socket(进程线程),包括套接字,多线程,多进程,单进程,并发,互斥锁,tcp/ip,udp等

2015-10-13

Linux系统编程资料

Linux系统编程资料

2015-10-13

Web前台页面

Web前台页面

2015-10-12

Web前台页面设计

Web前台页面设计

2015-10-10

网络计算考点

网络计算考点

2015-09-30

服务器客户端通信—socket

服务器客户端通信—socket,多进程,单进程,多线程等

2015-09-30

关机恶搞整人.exe

关机恶搞整人.exe

2015-09-28

Linux 命令全集字典

Linux 命令全集字典

2015-09-25

TCP—Qt详解

TCP—Qt详解

2015-09-25

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除