- 博客(17)
- 收藏
- 关注
原创 开发服务端程序,在存在并发请求场景下,需要考虑一些常规事项简单梳理和总结
并发考虑如下: 1.多线程,限速(停顿),有界堵塞队列+超队列直接调用线程run方法(ThreadPoolExecutor.CallerRunsPolicy),网卡尖刺, 2.注意并发的要点:小数据包(防止网卡打满)+ 占用内存小的小对象,生命周期短的小周期对象(JVM快速释放) + 并发(提升效率) + 多机器;
2017-04-21 12:17:59 546
原创 es(elasticsearch)游标(查询)的理解
ES中的游标在查询过程中,数据变化时,对游标的影响是什么?这部分数据会通过当前游标(满足当前查询条件)查询出来吗? 不会; 游标原理 参考: http://lavasoft.blog.51cto.com/62575/13470 缓冲区 因为这个scroll相当于维护了一份当前索引段的快照信息,这个快照信息是你执行这个scroll查询时的快照。在这个查询后的任何新索引进来的数据,都不会在这
2017-04-21 12:17:12 5726
原创 redis中的info命令中的# Memory各项都是什么意思:
redis中的info命令中的# Memory各项都是什么意思:Memoryused_memory:22587235376 used_memory_human:21.04G used_memory_rss:24482635776 used_memory_rss_human:22.80G used_memory_peak:22587235376 used_memory_peak_human:
2017-04-21 12:12:30 12880
原创 (笔记)理解和学习分布式一致性协议:raft
理解和学习分布式一致性协议:raft 要点:分布式、一致性、协议什么叫分布式一致性,举个例子? 说明:这里的节点指的是相对于client的服务端节点(这个服务端节点可以做存储) 一个节点的场景,想想客户端如何更新(或者存储)一个数据? 多个节点的场景,要保证所有节点一致性,如何解决这问题,这个问题就是分布式一致性问题 Raft is a protocol for implementing
2017-04-21 12:11:38 1124
原创 linux命令-scp协议
从主机A的目录/data/src scp 到 主机B的/data/src的步骤: 1.免密登陆: 生成A的公钥(rsa对称加密) 把A的公钥放到B上; 2.scp -P 30000 -r /data/src root@B:data/ 3.linux 读取ip列表文件 4.linux for遍历执行;
2017-04-15 09:46:18 781
原创 建模(领域模型)的点滴理解
建模(领域模型): 每个组件都是关注一个领域,比如Elasticsearch关注索引,搜索等, 比如storm关注实时流式计算等; 每个组件都有自己的一套理论(概念)和模型: 比如elasticsearch的建模是:文档 比如storm的建模是:Topologies(拓扑),Streams,spout,bolt等概念; 比如spring框架中的bean模型(把类当做一个bean来建模)
2017-04-15 09:45:17 580
原创 Linux查看进程运行的完整路径方法:
Linux查看进程运行的完整路径方法: 通过ps及top命令查看进程信息时,只能查到相对路径,查不到的进程的详细信息,如绝对路径等。这时,我们需要通过以下的方法来查看进程的详细信息: Linux在启动一个进程时,系统会在/proc下创建一个以PID命名的文件夹,在该文件夹下会有我们的进程的信息, 其中包括一个名为exe的文件即记录了绝对路径,通过ll或ls –l命令即可查看。 ll /pro
2017-04-15 09:44:42 4088
原创 线程之间的通信方式
线程之间的通信: 线程之间(进程之间)的通信(其实就是信息数据的共享),包括共享内存或者消息传递(也是共享的一种变通方式) 两种; 共享内存,这个内存可能是第三方的内存存储; 这个消息可能是通过公网传输(由于网络的不可靠,因此变得复杂);
2017-04-15 09:42:28 476
原创 单条变批量,优化网络传输效率的例子
单条变批量,优化传输效率的例子: 1.redis的异步复制,累计一定量:repl-backlog-size 2.rabbitmq的预批量推消息:basicQos
2017-04-15 09:41:05 662
原创 百分比和绝对值在redis中的配合使用
百分比和绝对值配合使用的例子: redis cluster的auto-aof-rewrite-percentage和auto-aof-rewrite-min-size,具体解释如下:Automatic rewrite of the append only file.Redis is able to automatically rewrite the log file implicitly call
2017-04-15 09:40:38 955
原创 linux中shell变量$#,$@,$0,$1,$2的含义解释:
linux中shell变量#,#,@,0,0,1,2的含义解释:变量说明:2的含义解释: 变量说明: Shell本身的PID(ProcessID) Shell本身的PID(ProcessID) ! Shell最后运行的后台Process的PID ?最后运行的命令的结束代码(返回值)? 最后运行的命令的结束代码(返回值) - 使用Set命令设定的Flag
2017-04-15 09:40:19 411
原创 安装jdk步骤
安装jdk步骤: 1.解压到指定目录,比如/usr/java 2.配置etc/profile export JAVA_HOME=/usr/java/jdk1.8.0_45 export PATH=JAVAHOME/bin:JAVA_HOME/bin:PATH export CLASSPATH=.:JAVAHOME/lib/dt.jar:JAVA_HOME/lib/dt.jar:JAVA_H
2017-04-15 09:39:59 334
原创 如何生成id_dsa.pub?
如何生成id_dsa.pub? 先检测有没有:ls -ls ~/.ssh/ 如果没有id_dsa.pub,继续 ssh-keygen -t rsa -C “xxx” 说明:xxx一般是主机名(使用hostname命令可查看当前主机名)
2017-04-15 09:39:26 3141
原创 有些时候,有些判断是无法做到真实,但是能做到最优也不错了
有些时候,有些判断是无法做到真实,但是能做到最优也不错了,比如 redis cluster的配置参数cluster-slave-validity-factor就运用了这种思维:A slave of a failing master will avoid to start a failover if its datalooks too old.#There is no simple way for
2017-04-15 09:35:35 464
原创 角色的概念要根据场景进行正确的解读
角色的概念要根据场景进行正确的解读: redis cluster,从server角度来看,有三类client,如下:normal -> normal clients including MONITOR clientsslave -> slave clientspubsub -> clients subscribed to at least one pubsub channel or patter
2017-04-15 09:34:06 366
原创 有些应用软件进行系统调用时,为了一些场景更好的实现最优的表现,因此需要调整操作系统参数:
有些应用软件进行系统调用,为了一些场景更好的实现最优的表现,因此需要调整操作系统参数: redis cluster的repl-disable-tcp-nodelay就涉及到修改TCP_NODELAY参数:具体如下:Disable TCP_NODELAY on the slave socket after SYNC?#If you select “yes” Redis will use a smal
2017-04-15 09:32:25 414
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人