- 浏览: 82875 次
- 性别:
- 来自: 北京
最新评论
-
魔鸟科胖呆:
你好,如何才能使用JobCenter呢?
#研发中间件介绍#定时任务调度与管理JobCenter -
yangsong158:
难得的好文,必需支持。
安全基础教育第二季第1集:屡战屡败的找回密码 -
fisherhe:
只能说一句,受益匪浅
#研发解决方案介绍#基于ES的搜索+筛选+排序解决方案 -
houxinyou:
水是有源的,树是有根的,啥事都是有原因的
职场的真相——七句话 -
xiaoZ5919:
关于下厨房的这个事儿,只有close了所有指向该文件的文件描述 ...
被小伙伴们吓哭了:可怕的命令
文章列表
郑昀 最后更新于2014/4/18
关键词:业务降级,配置中心,基本可用性,diamond
A.业务降级的背景知识:
淘宝就双十一课题曾经讲过:
『
所谓业务降级,就是牺牲非核心的业务功能,保证核心功能的稳定运行。简单来说,要实现优雅的业务降级,需要将功能实现拆分到相对独立的不同代码单元,分优先级进行隔离。在后台通过开关控制,降级部分非主流程的业务功能,减轻系统依赖和性能损耗,从而提升集群的整体吞吐率。
』
主动关闭系统功能的场景:
我们更新系统或数据库刷库时,可能会提出,某天凌晨几点到几点不能下单,几点到几点不能验证,如果都靠人工手动调整、手动开关跳 ...
郑昀 基于朱传志的设计文档 最后更新于2014/11/13
关键词:LDAP、认证、权限分配、IdCenter、
本文档适用人员:研发
曾经一个IT内部系统配一套帐号体系和授权
线上生产环境里,技术人员需要登录许多内部系统 ...
郑昀 基于胡耀华和王超的设计文档 最后更新于2014/12/3
关键词:ElasticSearch、Lucene、solr、搜索、facet、高可用、可伸缩、mongodb、SearchHub、商品中心
本文档适用人员:研发和运维
提纲:
曾经的基于MongoDB的筛选+排序解决方案
MongoDB方案的缺陷
看中了搜索引擎的facet特性
看中了ES的简洁
看中了ES的天生分布式设计
窝窝的ES方案
ES的几次事故和教训
ES自身存在的问题
首先要感谢王超和胡耀华两位研发经理以严谨治学的研究精神和孜孜以求的工作态度给我 ...
郑昀 创建于2014/9/1 最后更新于2014/9/18关键词:职场,规则,错题集,结果,救世主,纠结本文档适用人员:中层干部
提纲:
做事有始有终
没有苦劳,只有功劳
不犯同样错误
职场当战场,上级是司令
从来就没有什么救世 ...
郑昀 创建于2014/5/19最后更新于2014/5/22友情赠送一篇:被小伙伴们蠢哭了的那些事儿:找回密码篇 (2014-01-13)
杀手级命令:rm -rf
2014-5-17-某软件公司在生产环境误删数据库文件
悲剧一:
妹子在生产服务器上本意删除Oracl ...
郑昀 创建于2014-01-12;
最后更新于2014-01-13.
找回密码功能是漏洞传统重灾区,下面列出两个经典错误点,请引以为戒吧Web开发工程师们!
Web安全:
一)以为用户不会抓包不会看源码不会分析表单参数,HTML文档和表单里 ...
郑昀 创建于2013/7/22最后更新于2013/10/17本文遵循 Creative Commons 姓名标示-非商业性使用-禁止演绎 许可协议。转载时请注明“转载自知乎”或者给出转载文章的原始链接。
整理这些职场“潜”规则,是为了让兄弟们一起对表,为 ...
案例梳理时间:2013-9-25
写在前面的话:
在慢查优化1和2里都反复强调过 explain 的重要性,但有时候肉眼看不出 explain 结果如何指导优化,这时候还需要有一些其他基础知识的佐助,甚至需要了解 MySQL 实现原理,如子查询慢查优化。
看到 SQL 执行计划中 select_type 字段中出现“DEPENDENT SUBQUERY”时,要打起精神了!
——MySQL 的子查询为什么有时候很糟糕——
引子:这样的子查询为什么这么慢?
下面的例子是一个慢查,线上执行时间相当夸张。为什么呢?
SELECT gid,COUNT(id) as ...
续上篇《Web开发基本准则-55实录-Web访问安全》。
Web开发基本准则-55实录-缓存策略
郑昀 创建于2013年2月
郑昀 最后更新于2013年10月26日
提纲:
Web访问安全
缓存策略
存储介质连接池
业务降级
并发请求的处理
关键 ...
Web开发工程师请阅读下面的前端开发准则,这是第一部分,强调了过去几年里我们注意到的Web工程师务须处理的Web访问安全基础点。尤其是一些从传统软件开发转入互联网开发的工程师,请仔细阅读,不要因为忽视这些基础点而制造一个又一个的漏洞或突发事件。
Web开发基本准则-55实录-Web访问安全
郑昀 创建于2013年2月
郑昀 最后更新于2013年10月14日
提纲:
Web访问安全
缓存策略
存储介质连接池
业务降级
并发请求的处理
关键词:
Session Hijacking,XSS(Cross Site Scripting),SQLi(SQL I ...
@郑昀 整理
标准做法一:OOM触发HeadpDump
目的:
OOM发生时,输出堆栈快照文件,供研发人员分析。
在JVM中,如果98%的时间是用于 GC 且可用的 Heap size 不足2%的时候,将抛出 OOM 异常。
配置操作:
Resin/Tomcat 配置文件里追加 -XX:+HeapDumpOnOutOfMemoryError ,当 OutOfMemoryException 错误发生时,会自动生成 Heap Dump 文件。
同时配置 -XX:HeapDumpPath 指定快照文件的实际路径。
写在前面的话:
之前曾说过“不要求每个人一定理解 联表查询(join/left join/inner join等)时的mysql运算过程”,但对于字段选择性差意味着什么,组合索引字段顺序意味着什么,要求每个人必须了解;
重复上一次的话:把mysql客户端(如SQLyog,如HeidiSQL)放在桌面上,时不时拿出来 explain 一把,这是一种美德!
确保亲手查过SQL的执行计划,一定要注意看执行计划里的 possible_keys、key和rows这三个值,让影响行数尽量少,保证使用到正确的索引,减少不必要的Using temporary/Using filesort ...
写在前面的话:
不要求每个人一定理解 联表查询(join/left join/inner join等)时的mysql运算过程;
不要求每个人一定知道线上(现在或未来)哪张表数据量大,哪张表数据量小;
但把mysql客户端(如SQLyog,如HeidiSQL)放在桌面上,时不时拿出来 explain 一把,这是一种美德!
在实例讲解之前,我们先回顾一下联表查询的基础知识。
——联表查询的基础知识——
引子:为什么第一个查询using temporary,第二个查询不用临时表呢?
下面两个查询,它们只差了一个order by,效果却迥然不同。
第一个查询:
...
关键词:multiget hole,memcache
适用于:java,php
基础知识背景:
1)multiget 是什么:
multiget 指的是从 memcache(或其他分布式缓存) 一次性获得多个键值,一般由 memcached client 自行实现。如 PHP-memcache-client 提供了 Memcached::getMulti 函数。调用示范如下:
<?php$items = array( 'key1' => 'value1', 'key2' => 'value2', 'key3 ...
先列出 HessianPHP 的错误提示:
CURL transport error: transfer closed with outstanding read data remaining
基础知识背景:
1)“Expect: 100-continue”的来龙去脉:
HTTP/1.1 协议里设计 100 (Continue) HTTP 状态码的的目的是,在客户端发送 Request Message 之前,HTTP/1.1 协议允许客户端先判定服务器是否愿意接受客户端发来的消息主体(基于 Request Headers)。
即,Client 和 ...