认识 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. Android项目实战(五十六):获取WebView加载的url的请求错误码

    例如需求,我有一个WebView 加载一个url, 该url对应的网页本身自带下拉刷新 ,但是网页本身会有出现400 500 等异常请求错误码 这时候网页加载失败,页面本身的下拉是无法使用的,要求重新 ...

  2. iOS崩溃日志

    今天看crash report ,有这样两个crash: 调用 stopUpdatingLocation 函数的是一个CLLocationManager 类型的对象,为什么报错的时候会把这个对象转成N ...

  3. Python实现文件阅读功能(Python学习笔记)

    #!/usr/bin/python# Filename: filereader.pyimport sys def readfile(filename): '''Print a file to the ...

  4. caffe(2) 数据层及参数

    要运行caffe,需要先创建一个模型(model),如比较常用的Lenet,Alex等, 而一个模型由多个屋(layer)构成,每一屋又由许多参数组成.所有的参数都定义在caffe.proto这个文件 ...

  5. nginx配置虚拟域名

           /usr/lcoal/nginx/conf/nginx.conf 配置详解如下: worker_processes   1;                                ...

  6. Win10+CUDA9.0+cuDNN7.2 下载 安装 配置

    官方提示Note: CUDA must be installed only after that MSVS2015 had been installed.安装CUDA前须安装VS2015 cuDNN与 ...

  7. Android Studio的Signature Versions选择,分别是什么意思

    转自原文 Android Studio的Signature Versions选择,分别是什么意思 打包一个文件的签名版本, 选V1打包出来的app是jar的(一般这种就是当做第三方导入项目来用的), ...

  8. ArcGIS 空间查询

    public static bool QueryMessPoint(IActiveView activeView, IFeatureClass featureClass, string whereCl ...

  9. 泛泰A820L (高通MSM8660 cpu) 3.4内核的CM10.1(Android 4.2.2) 測试版第二版

    欢迎关注泛泰非盈利专业第三方开发团队 VegaDevTeam  (本team 由 syhost suky zhaochengw(z大) xuefy(大星星) tenfar(R大师) loogeo cr ...

  10. 算法导论————EXKMP

    [例题传送门:caioj1461] [EXKMP]最长共同前缀长度 [题意]给出模板串A和子串B,长度分别为lenA和lenB,要求在线性时间内,对于每个A[i](1<=i<=lenA), ...