练习工程 – Postgres XL Statistics

写这个工具的目的是为了方便查看Postgres-XL运行状态和一些统计指标,同时也是尝试用一些框架或开源项目,了解下它们能做什么和怎么做。源码地址。 工程界面 工程说明 在linux中部署结构如下: 启动停止脚本见src/main/resources/shell/pgxls.sh。 用到的东西 MVC框架:SpringBoot SpringBoot是为了简化spring各组件的整合而生的开发框架。在配置项上融入了大量“约定优于配置”的思想,可以理解为给可配置的参数一个约定俗成的默认值,让开发者从复杂多变的配置中解脱出来,只关注那些对应用程序来说需要配置的参数。尽管如此,其实对开发者来说还是有必要了解下所有参数是怎样约定的,参考这里。SpringBoot不仅在数据库访问、模板引擎、缓存、消息队列、邮件等诸多方面支持大量第三方

Postgres XL管理与维护

Postgres-XL本身是分布式的多节点的数据库,维护起来要比单机的PostgreSQL要复杂一些,但是很多方面其实跟PostgreSQL大同小异。以下是一些入门级别的实践小结。使用版本9.5。 集中式管理 Postgres-XL由gtm、gtm proxy、datanode、coordinator四种功能节点组成,就算只有2个datanode、2个coordinator,主机数量也可能达到五个。如果再配上standby节点、因请求压力增大而增加datanode数量,集群环境很容易突破十多个主机。这样一个不大不小规模的Postgres-XL要是经常开十多个窗口上去维护也会把人累个半死,并且对于一个发展中的小公司而言,这样的集群可能不止一个。所以,如果能在一个中心控制台远程操作所有主机,执行一些常用的简单的命令,将是一件省

SVN使用方法记录

SVN(Subversion)是一个开源版本控制系统,文件必须提交到svn服务器来集中管理版本信息。支持分支管理。svn服务器有两种运行方式:独立服务器(svn协议)和借助apache运行(http协议)。svn存储版本数据也有两种方式:BDB(一种事务安全型表类型)和FSFS(一种不需要数据库的存储系统),默认FSFS。BDB方式在服务器中断时,有可能锁住数据。 安装 服务端 首先,创建repository根目录并启动serve 然后,创建一个版本库repository,名为pj_config 初始化的版本库pj_config目录内容如下图, 其中conf/svnserve.conf文件是该版本库的服务配置文件,修改需要重启svn服务生效。编辑内容如下, passwd文件用于设置账户的用户名和密码,一行一账户,格式为:用

实现宿主机网卡添加到Docker容器

在AWS上部署docker应用有两种途径,一种是直接使用AWS的EC2 Container Service(ECS)产品,优点是可基于资源需求跨集群放置容器,并且与AWS的其他产品,如负载均衡、安全组、卷、角色等集成。另一种是全自助从头搭建,这种方式有助于学到更多东西。 以下方法是为了解决全自助方式下,配置容器网络遇到的这个问题:想要给EC2中运行的容器实例添加虚拟网卡并分配IP地址,使其像普通EC2实例一样加入到指定的VPC的某个子网里,同时受控于安全组策略和路由设置。 步骤 首先在AWS控制台创建新的网络接口,并将其附加到docker容器所在的宿主机上。允许附加的网络接口数量受限于宿主机的机型,附加成功后在宿主机上用ifconfig命令可以看到。 第二步,在宿主机上创建并启动无网络设置的docker容器实例。 第三步,

网络抓包与分析方法的学习记录

掌握一些网络抓包和数据包分析的方法对于解决生产环境下遇到的疑难问题有很大帮助。 使用tcpdump命令加Wireshark工具 大多数线上服务都是部署在linux环境下,所以通常用tcpdump命令来截获网络数据包,然后拿到桌面环境(如windows)下用Wireshark解析数据包。Wireshark本身既可以捕获网络数据包,也可以解析一些常见通信协议和格式的数据。 场景一:HTTP协议数据包 首先实现了一个简易的HTTP服务端,监听端口9101。在服务端使用以下命令捕获数据包,输出到文件http.pcap,直到Ctrl+C终止, 使用curl命令发起HTTP请求, 将得到的http.pcap文件下载到windows环境下用Wireshark打开,如下图 如果没有对数据包内容进行过滤,则可以看到除了要关注的HTTP协议数

Mongodb跨数据中心部署实践

公司某休闲游戏的海外应用服务器和Mongodb数据库服务器都部署在了AWS美国东部某数据中心。最近为了降低欧洲用户的访问延迟,打算尝试使用Mongodb的zone sharding特性实现数据跨欧洲、北美两个数据中心,并在欧洲再部署一套应用服务器直连欧洲的数据库服务器。再通过AWS的Route 53(域名系统)的地理策略,依据其ip位置将用户分流到欧洲、北美两个入口,从而实现用户就近访问后端服务器,本地读写数据。 动手前先从架构和业务两方面思考有哪些需要解决的问题,尽可能避免一些弯路,做好充分的准备。 问题及解决方案 选择跨数据中心的网络连接方式 这里需要考虑安全和稳定两方面因素。分别调研了以下三种方式: VPC Peering Connections(对等连接),这个适用于同一数据中心里跨账户或跨VPC间的子网互连,目前