认识 Atlassian Datacenter 产品

云端原本就是群集化的架构,Atlassian 系列产品。应用的开发团队相当广范且行之有年,可是将应用程序作为节点(比方Jira,confluence,bamboo…等應用程式)然后群集化的运维团队却是少之又少,希望以基础架构的角度切入,由下面列举之细目引导大家了解 Altassian DataCenter这个 群集化的方案,进而盘点要建置DataCenter。究竟须要哪些第三方技术才可以完整这种架构:


群集化不可或缺的虚拟环境 (Virtualization):

以一个节点为单位,虚拟节点当然要比实体节点好调度,并且群集化后的节点群。要在实体机之间迁移,没有俱备虚拟环境要怎样轻易的完毕这种任务。要发挥DataCeneter所带来的优点,虚拟环境是必备的条件之中的一个,且并不须要在特定的虚拟产品下执行。

例如以下知名的虚拟産品所建构的虚拟环境都能够

双机热备 (Hight Avaliable)

针对负载平衡,或许客户会列举出执行中的 jira 负载还好,不须要用到负载平衡。可是双机热备HA。就不单单仅仅是在性能或是备援的考量。反而是应用面。怎么说呢?相信在应用程序或是插件的升级需求大家都有,但要在哪个节点測试呢?为了測试多买一套应用程序吗?就算预算充裕。那測试完成确认是能够满足开发者需求。接下来要怎样在不干扰下把在线人员整个移转过来?还是就在线直接更新。

在线直接更新是大部份眼下的作法,所产的问题状况百出。有时还回复不了原始状态,轻则中断开发者的应用。重则数据遗失。

也因此,有了 DataCenter 的应用程序再加上 Pacemaker 所建置完好的双机热备,那么整个应用程序的群集或是插件的应用就拥有了顺畅的演化环境。相关的升级就能够放手去进行,前端开发团队所提出的需求也能高速反应。

(pacemaker,corosync) 双机热备首选技朮

全新建置的节点,在这里建议大家採用 CentOS or RedHat 7 也就是 Linux 核心是 3.10。pacemaker 建置过程有稍稍较之前 Redhat or CentOS 5~6 较依赖 cli(command line)但整个建置完好后,无论是节点之间服务切换的速度,或是一些故障分析,都较能经得起考验。

当然维持原有的 Linux HA 旧环境,或是操作系统版本号有须要让其它软件依赖的考量而无法升级,DataCenter 的架构仍然是能够完毕的。仅仅是在多节点的布署。操作系统最好选择以 Linux 核心为 3.10 来担任。

下面两张分别为 pacemaker 的堆栈及内构图示:

在 Pacemaker 下完整建构的双机热备 HA,在下面三种情境都是能够正常运作的。

网络文件系统(NFS)及存储装置(DRBD)

Home-shared 是 DataCenter 的一个关键,原本 Atlassian 系列的应用程序都有一个 Local Home,透过 NFS 这个网络文件系统让同一种 AP 多个节点,供享同一个 home directory。

如此协同运作,就能够让单一个节点所作的设置(比方插件升级或是安装),群集里的其它成员也就跟着完毕。

NFS 的供应端能够是不论什么云存储的分布式文件系统技术,这里用 CEPH 为演示样例来作说明,前端是藉由 NFS 分享出来的网络文件系统,后端是由三个 osd 节点组合出来的 RAW device。接下来是一个有趣的组合。我把监控 mon 和元数据 msd 原来两个节点组合为一个节点总共两组,这样就能够为 NFS-server 建置一个 HA 也就是提供一个虚拟 IP 给 Atlassian AP 作挂载,这样 share home 就有了热备援啦!在这里的 Pacemake 建置 HA 主要是为了 NFS-server
服务,mon 及 msd 的组合节点原本就有热备援的机制存在。不须要依赖 Packmaker 的 HA。

请以以下图型来想像一下我所描写叙述的安排:

双机热备一開始我们都仅仅考虑到应用程序端,如今我们来看看数据库怎样跟双机热备集成,一開始当然想到数据库的存储位置,DRBD 跟 Pacemaker 整合的很严密,以它来作为数据库的存储位置再也理想只是了,这个装置在两个节点之间以块层级随时同步着,但尽有一方会被挂载着,因此这种构架方案不适合作数据库的负载均衡,仅仅合适数据库的双机热备。也就是HA。

DRBD 仅仅提供到 Raw Device。再上层的文件系统就由操作系统接手了,接下来的挂载再由 Pacemaker 安排。DRBD 模块负责着三个訪问(Raw DriverDisk DriverNIC Driver)。

这里写图片描写叙述

DRBD 算是非常忙碌的一个模块,由于是块层级的传输,所以尽管负责很多面向,但效率不减(訪问 DRBD 官网请连接http://drbd.linbit.com/

再次提醒: DRBD的存储构架,对群集而言仅仅适合集成双机热备构架也就是HA,不合适负载均衡的安排,这点请注意

负载均衡 (LoadBalance)

HAproxy 是个很不错的负载均衡舵手,在这个角色下能够用简单的參数来调配,能够作到让出来面对client提出需求的 web-service 群,是用什么样的模式来运作。比方 roundrobin 或 static-rr 。甚至能够分头顾及到下层的数据库是不是採用 leastconn 模式。

当然 HAproxy 这么重要的网关怎么能够仅仅由单一的节点来担任,再建一组 HA 吗?一个非常有趣的安排,把 HAproxy 往群里面配。无论是由云存储的群(sql)或是云计算的群(html)都能够,仅仅要把群里每一个成员上的 HAproxy 服务所有启动,參数调配好后就由 Pacemaker 所供应出来的虚拟IP来面对client的需求訪问,这样 HAproxy 就有热备援的机制啦!

能够參考例如以下的图示想像一下这个有趣的安排。

  1. roundrobin:平均轮询在各个节点上。可调整权重让不同等级的server分配不同的负载。

  2. static-rr:平输询在各个节点上,但权重调整无效。无论各个server规格怎样。按总节点数平圴轮询。
  3. leastconn:適合sessions較長的服務端。比方 LDAP。SQL….等。權重調整後會較緩慢生效。
  4. first:该算法的目的是要始终使用最小server的数量。
  5. source:这确保了同一client地址将始终达到同样的server端。
  6. url:同 source 区别在用 url 来辨别client。
  7. url_arm:同 url 区别在有參数。通常是server对server的訪问。
  8. hdr:这一般指的是可识别的用户标头,也就是同一个用户帐号登入不同client作訪问server,都是由同一台server来服务。
  9. rdp-cookie:如同 hdr 但以 cookie 存在与否来判别是否改变訪问的主机。

设置步骤 (DataCenter Setup)

下面为 Atlassian 原厂 DataCenter for jira 的设置步骤

  1. 首先把数据库跟应用程序(这里指的是 jira)分离。
  2. 确认原本的 jira 版本号是在 6.3 以上(含),假设版本号条件不满足,请先进行升级或是改版计划。
  3. 将 Loadblance 的节点安排好,这篇文章建议的是 HAproxy server。
  4. 把 Local Home Directory 分享出来,作为 DataCenter 最重要的 Share Home 的一个位置。
  5. 增加第二个应用程序节点。把数据库设定好,NFS-client 设定好訪问 Shared Home。
  6. 将 HAproxy 上层之AP设定为 roundrobin 模式,将下层数据库设定为 lessconn 模式。然后所有串接起来,由 Pacemaker 建置好的虚拟 IP,准备接受客户端的訪问。

效能监控工具 (Performance Monitor)

在建置 DataCentor 的整个过程还算繁琐,不仅仅步骤繁多,构架多样化,但整个模型是一致的,会建构 jira 应用程序的 DataCenter 也就会建构其它应用程序的 DataCenter,整个过程中,在这里建议随时观測虛拟环境的效能监控工具。一边进行建置一边进行诊断,才不㑹进行了大部份的建构步骤才開始回头查问题的解决办法,那将㑹添加问题分析的困难度。

例如以下图标演示样例,在我们浏览 jiraIP 我们能够知道 ha1 和 ha2 彼此之间并不是 roundrobin 关系

在整个 DataCenter 建置完毕后開始上线。执行过程中要注意 CPU 负戴不要持续攀升在 80% 以上。持续攀升须要调优或是硬件升级,瞬间是不碍事的。

例如以下以 VMware 性能监控器显示仅仅有瞬间攀升。

本文作者:James XU(CSDN资深技术顾问)未经同意不得转载!

软件商城:http://mall.csdn.net/tool

热门活动:Atlassian 购软件赠技术服务限时特惠火热进行中!

认识 Atlassian Datacenter 产品的更多相关文章

  1. 烂泥:wiki系统confluence5.6.6安装、中文、破解及迁移

    本文由ilanniweb提供友情赞助,首发于烂泥行天下 想要获得更多的文章,可以关注我的微信ilanniweb confluence是一个专业的企业知识管理与协同软件,可以用于构建企业wiki.通过它 ...

  2. Crowd 2.7汉化中文包(原创首发)

    介绍:Crowd是用来集成Atlassian各类产品用户集成系统,如Jira,Confluence等的集中用户管理平台.可对组.成员关系.用户.目录.应用程序及权限进行综合管理,并可实现其他程序的单点 ...

  3. Confluence 持续集成平台部署记录

    1.1 Confluence简介 Confluence是一个专业的企业知识管理与协同软件,也可以用于构建企业wiki.使用简单,但它强大的编辑和站点管理特征能够帮助团队成员之间共享信息.文档协作.集体 ...

  4. 7款不错的 CI/CD工具

    时至今日,越来越多的工程团队开始实行敏捷开发,借以推动更短.更快的发布周期.而代码库的增长与更高的生产构建频率,也带动持续集成与持续部署/交付工具快速兴起.如果您有意提升发布频率,或者是不太清楚哪些工 ...

  5. 8款不错的 CI/CD工具

    Jenkins Jenkins是CI市场中最知名且最常见的名号之一.其最初是由Sun公司的一位工程师打造的一个辅助项目,并迅速扩展为最大的开源CI工具之一,可帮助工程团队实现自动化部署.顺带一提:我们 ...

  6. Confluence wiki——CentOS6.8搭建详解

    参考资料:http://www.cnblogs.com/jackyyou/p/5534231.html http://www.ilanni.com/?p=11989 公司需要搭建WIKI方便员工将一些 ...

  7. 推荐 9 个样式化组件的 React UI 库

    简评:喜欢 CSS in JS 吗?本文将介绍一些使用样式组件所构建的 React UI 库,相信你会很感兴趣的. 在 React 社区,对 UI 组件进行样式化的讨论逐步从 CSS 模块到内联 CS ...

  8. OpenStack调研:OpenStack是什么、版本演变、组件关系(Havana)、同类产品及个人感想

    一点调研资料,比较浅,只是觉得部分内容比较有用,记在这里: 首先,关于云计算,要理解什么是SAAS.PAAS.IAAS,这里不述:关于虚拟化,需要知道什么是Hypervisor,这里也不述: Open ...

  9. Atlassian如何实施DevOps

    DevOps是推动开发和运维团队之间沟通和协作的手段.它不是一个工具或产品.相反,其成功的首要因素就是文化.目的是更快的创新和更好的客户体验. "2015年DevOps状态报告"调 ...

随机推荐

  1. lightoj--1155-- Power Transmission (最大流拆点)

    Power Transmission Time Limit: 2000MS   Memory Limit: 32768KB   64bit IO Format: %lld & %llu Sub ...

  2. 微信小程序领取卡券

    微信小程序领取卡券 标签(空格分隔): php 开发前需要准备的工作 1 小程序和公众号要有绑定 2 小程序和该公众号要绑定到同一个开发平台下 [https://open.weixin.qq.com/ ...

  3. 浅谈贝塞尔曲线以及iOS中粘性动画的实现

    关于贝塞尔曲线,网上相关的文章很多,这里我主要想用更简单的方法让大家理解贝塞尔曲线,当然,这仅仅是我个人的理解,如有错误的地方还请大家能够帮忙指出来,这样大家才能一起进步. 贝塞尔曲线,常用到的可分为 ...

  4. Sql Server 基本数据类型

    第一大类:整数数据 bit:bit数据类型代表0,1或NULL,就是表示true,false.占用1byte. int:以4个字节来存储正负数.可存储范围为:-2^31至2^31-1. smallin ...

  5. 3、Go Exit

    package main import ( "fmt" "os") func main() { //当使用`os.Exit`的时候defer操作不会被运行 所以 ...

  6. Debian9.5下sftp配置和scp用法

    基于 ssh 的 sftp 服务相比 ftp 有更好的安全性(非明文帐号密码传输)和方便的权限管理(限制用户的活动目录). 1.如果只想让某些用户只能使用 sftp 操作文件, 而不能通过ssh进行服 ...

  7. HDU-1069 Monkey and Banana DAG上的动态规划

    题目链接:https://cn.vjudge.net/problem/HDU-1069 题意 给出n种箱子的长宽高 现要搭出最高的箱子塔,使每个箱子的长宽严格小于底下的箱子的长宽,每种箱子数量不限 问 ...

  8. CF 986A Fair(多源BFS)

    题目描述 一些公司将在Byteland举办商品交易会(or博览会?).在Byteland有 nnn 个城市,城市间有 mmm 条双向道路.当然,城镇之间两两连通. Byteland生产的货物有 kkk ...

  9. JSTL标准标签库具体解释

    JSTL标签库的使用是为类弥补html表的不足.规范自己定义标签的使用而诞生的. 在告别modle1模式开发应用程序后.人们開始注重软件的分层设计,不希望在jsp页面中出现java逻辑代码,同一时候也 ...

  10. java教程(五)SSH框架-配置

    前言:从这篇博客開始我将继续讲述Java教程:SSH篇.主要内容环绕SSH框架分析与搭建,今天先简介一下SSH的配置. SSH配置顺序是: spring-->hibernate-->str ...