-
创业公司后端技术栈2018.07.02
-
详解nginx及FPM平滑重启2018.07.01
平滑重启
GR是Graceful Restart(平滑重启)的简称,是一种在协议重启时保证转发业务不中断的机制。
GR机制的核心在于:当某设备进行协议重启时,能够通知其周边设备在一定时间内将到该设备的邻居关系和路由保持稳定。在协议重启完毕后,周边设备协助其进行信息(包括支持GR的路由/MPLS相关协议所维护的各种拓扑、路由和会话信息)同步,在尽量短的时间内使该设备恢复到重启前的状态。在整个协议重启过程中不会产生路由振荡,报文转发路径也没有任
-
消息队列Rabbitmq与Kafka对比分析2018.06.20
什么是消息队列
在计算机科学中,消息队列(英语:Message queue)是一种进程间通信或同一进程的不同线程间的通信方式,软件的贮列用来处理一系列的输入,通常是来自用户。消息队列提供了异步的通信协议,每一个贮列中的纪录包含详细说明的数据,包含发生的时间,输入设备的种类,以及特定的输入参数,也就是说:消息的发送者和接收者不需要同时与消息队列交互。消息会保存在队列中,直到接收者取回它。
实现
消息队列就是一个消息的链表。可以把消息看作一个记录
-
go docker与kubernetes实践2018.06.03
Go
Go(又称Golang)是Google开发的一种静态强类型、编译型、并发型,并具有垃圾回收功能的编程语言。Go的语法接近C语言 + Python。
安装
下载Go 1.10.2 版本,可执行文件,解压安装,并配置bin环境变量
12tar
-C
/usr/local
-xzf go1.10.2.linux-amd64.
tar
.gz
export
PATH=$PATH:
/usr/local/go/bin
创建go代码工作路径
12345mkdir
/h
-
使用ansible + git + cgi搭建部署系统2018.05.31
Ansible
ansible是个什么东西呢?官方的title是“Ansible is Simple IT Automation”——简单的自动化IT工具。这个工具的目标有这么几项:让我们自动化部署APP;自动化管理配置项;自动化的持续交付;自动化的(AWS)云服务管理,基于 paramiko 开发。
这个paramiko是什么呢?它是一个纯Python实现的ssh协议库。所以就不需要在远程主机上安装client/agents,因为它们是基
-
后端资源常见的使用优化2018.05.19
随着服务端流量的不断递增,对底层资源的依赖也越来越重,连接数增多,IO负载高等,很多性能瓶颈由此产生。下面结合自身经验,主要谈谈DB/Redis/Mc的优化。
1.DB
DB的查询会触发磁盘IO,我们知道IO的代价是很高的,所以DB的优化主要从降低IO
a. 优化慢查询
优化慢查询主要考虑从索引入手,众所周知,Innodbs索引存储结构为B+树,真正的数据项只存在于叶子节点,所以要考虑降低树的查询长度,例如:有一表的列字段如下。
12`card`
-
服务端从零到千万日活架构演变2018.04.17
1.互联网公司业务发展初期,没有较大流量,每日新增用户较少,技术团队核心点还是放在快速版本迭代,调研市场,开发新功能,以及配合一些活动、推广吸引新用户。所以业务初期,技术选型也比较简单。
对APP或WEB端来说,流量直接打到1台或多台ECS对应API,基于不同的业务场景,API会请求对应Nosql/缓存,或直接落到DB。
2.随着公司业务不断成型,用户的一步步累计,日活已经打到几十万甚至百万级别,初期的技术选型已经无法满足需求,ES及后端资