杂乱

来源:互联网 发布:淘宝店标图片制作 编辑:程序博客网 时间:2024/04/27 18:00

快速开发+良好架构:深度思考,分析,权衡,根据时间、成本,有舍有得走向简单;

eclise MAT:Memory Analyzerer
exclude all phantom/weaker/soft etc references则是排除虚引用,弱引用及软引用。因为这些引用一般是可以回收的。 (详细解释请参考深入Java虚拟机 垃圾回收一章)。\
可能大家已经注意到图中有个Shallow heap和Retained Heap, 具体代表什么意思呢?简单来讲,Shallow Heap Size是对象自身占用的Size。
Retained Heap Size是对象自身的Shallow Size +对象直接引用或者间接引用的对象的Shallow Size。
http://my.oschina.net/shaorongjie/blog/161385

3.直接使用变量判断

if [ “$variable” ]

then
echo “非空”
else
echo “空”
fi
http://blog.csdn.net/topgun_chenlingyun/article/details/7969632

还可以看到额外的状态变化,因为用户允许从EventLoop中注销Channel暂停事件执行,然后再重新注册。在这种情况下,
你会看到多个channelRegistered和channelUnregistered状态的变化,
而永远只有一个channelActive和channelInactive的状态,因为一个通道在其生命周期内只能连接一次,
之后就会被回收;重新连接,则是创建一个新的通道。 下图显示了从EventLoop中注销Channel后再重新注册的状态变化:
http://www.bkjia.com/ASPjc/840301.html

scp 免密登陆 本机公钥复制到另外一台机器的/root/.ssh/authorized_keys

ZooKeeper的临时节点不允许拥有子节点
http://www.superwu.cn/2014/11/21/1426/

线性hash
有顺序的hash分表;

substring
http://www.cnblogs.com/JerryWhite/archive/2009/06/06/1497742.html

multi-field mapping
http://ju.outofmemory.cn/entry/93048
模板是对index内部存储的一个规划,合理的控制store和analyze,设置mapping是集群优化提高性能不可或缺的重要部分.
可以通过 curl -XGET ‘http://localhost:9200/twitter/_mapping/tweet 来查看某个索引的mapping.
curl -XGET http://localhost:9200/testdb/_mapping/testindex?pretty=true
- See more at: http://bigbo.github.io/pages/2015/04/10/elasticsearch_config/#sthash.N61AypR4.dpuf
http://bigbo.github.io/pages/2015/04/10/elasticsearch_config/

es的mapping建立犹如一栋大楼的地基
http://blog.csdn.net/an74520/article/details/8200551

git revert是用一次新的commit来回滚之前的commit,git reset是直接删除指定的commit
http://yijiebuyi.com/blog/8f985d539566d0bf3b804df6be4e0c90.html

如何开发一个像xfire ,cxf,hessian的东东?idl和wsdl有什么区别,它们存在的意义是什么?它们的通信协议都是:头长协议()
XFire框架是一种基于Servlet技术的SOA应用开发框架,要正常运行基于XFire应用框架开发的企业应用,除了XFire框架本身之外,还需要JDK和Servlet容器的支持。
http://www.cnitblog.com/wufajiaru/archive/2008/08/13/47974.html

很多RPC技术都会使用中间语言来定义接口描述,比如Web Service常用的WSDL, Thrift使用的IDL。
http://blog.csdn.net/iter_zc/article/details/39338367

winpcap
tcp抓包工具?

核心,模块化

yarn的思想
https://www.ibm.com/developerworks/cn/opensource/os-cn-hadoop-yarn/

查看本地分支:gitbranch git branch -r
http://blog.csdn.net/ithomer/article/details/7529022

转换复杂为简单:抓住核心

jasig CAS实现单点登录(数据库认证)
http://www.open-open.com/lib/view/open1392714410256.html

flume 默认间隔多久读取变动
flume启动时打印日志:-c 配置文件根目录,比如:
http://stackoverflow.com/questions/12280403/flume-running-failed-in-linux

通配符和正则表达式
正则表达式是用通配符来实现;
大胆尝试,去制造简单,排查,探索原理,然后扩展;

ES根据URL执行查询:
使用SQL语法来查询Elasticsearch:Elasticsearch-SQL
./bin/plugin -u https://github.com/NLPchina/elasticsearch-sql/releases/download/1.4.6/elasticsearch-sql-1.4.6.zip –install sql
http://www.open-open.com/lib/view/open1447747736056.html

插件化思想:
目前接触到使用插件化思想的有
flume的source有很多插件,flume的sink有很多插件;
maven有很多插件;
elasticsearch有很多好用的插件;

共享scroll解决elasticsearch的from size分页慢的问题;
Raft一致性协议和namenode实现协调

异构语言系统的交互:消息,共同的IDL

两阶段提交协议与Raft协议、Paxos协议
二阶段提交的算法思路可以概括为: 参与者将操作成败通知协调者,再由协调者根据所有参与者的反馈情报决定各参与者是否要提交操作还是中止操作。
http://www.cnblogs.com/hapjin/p/4748603.html

存储,计算,通信;
为了做好上述三个工作,有很多问题需要解决,这些问题的发生是由于运行环境导致的,这里的运行环境
包括通信时的网络环境不可靠风险,存储时的数据丢失风险,IO效率低风险,计算能力低等等;
另外,在如此环境下,要实现一定目标,这些目标包括高可用,计算能力强,效率高等,就衍生了一些中间件
和算法,架构,思想,模型,原则,约束,协议,数据结构来协调和提升整个处理流程。
协议:用算法去实现;
协议:TCP协议(头长协议,改写TCP可改写的TCP头的协议),网络通信协议,数据协议,SSL协议,
模型:proactor模型,actor模型,reactor模型,ACE reactor,多路复用模型(select模型,poll模型,增强版Epoll模型:nginx, nodejs都是基于epoll进行的异步)
模型实现:Actor模型中间件包括Akka
思想:分之思想,分段思想,pipline思想,拦截器思想,过滤器思想,分层思想,分布式思想,分而治之的思想,限流思想(Guava的RateLimiter)
插件思想,延时队列思想,聚合数据思想,分布式锁,分布式共享内存,索引思想,Map-Reduce思想,
算法:选举算法,排序算法(插入排序:希尔排序),加密算法()
IO:AIO(信号,连接通道复用),Netty,
架构:有中心,无中心,一主一从,一主多从,主主(每一个主下面可以树形展开,比如再多从)
中间件:MQ中间件(RabbitMq,Apache ActiveMQ,Apache Kafka,),
协调服务中间件(Zookeeper),搜索中间件(Lucene,基于Lucene的包括Elasticsearch,Solr),数据库中间件(atlasss,)
数据同步中间件(LinkedIn的databus),Hadoop
存储:结构化,半结构化,面向行,面向列,面向文档,(分布式)缓存(tair,redis),本地缓存,内存数据库;
数据结构:队列,链表,二叉树,Btree(平衡二叉树),红黑树,有向图(有限状态机),

Raft也使用了分而治之的思想把算法流程分为三个子问题:选举(Leader election)、日志复制(Log replication)、安全性(Safety)三个子问题
http://www.solinx.co/archives/415

actor model是1973年就提出的一个分布式并发编程模型,在erlang语言中得到广泛支持和应用。
目前java中也出现了很多支持actor模型的库:akka、killim、jetlang等等,
其中akka是使用scala写的,有scala和java两套使用接口;killim需要对编译出来的class文件进行后处理。
http://spartan1.iteye.com/blog/1633430

如何做好风险规避?
1.全面了解情况,知道哪里是风险,找到方案避免风险,将损失降到最低;
2.SMART原则;

RateLimiter类
http://ifeve.com/guava-ratelimiter/

0 0