jira

HBase可用性分析与高可用实践

那年仲夏 提交于 2020-08-15 02:40:16
HBase作为一个分布式存储的数据库,它是如何保证可用性的呢?对于分布式系统的CAP问题,它是如何权衡的呢? 最重要的是,我们在生产实践中,又应该如何保证HBase服务的高可用呢? 下面我们来仔细分析一下。 什么是分布式系统的CAP? CAP是指一致性(Consistency)、可用性(Availability)和分区容错性(Partition tolerance)。 Consistency 一致性 一致性指更新操作成功并返回客户端完成后,分布式系统中所有节点在同一时间的数据完全一致。 从客户端的角度来看,一致性主要指的是并发访问时获取的数据一致。从服务端来看,则是更新如何复制分布到整个系统,以保证数据最终一致。 对于数据库来说,如果要求更新过的数据能被后续的访问都能看到,这是强一致性。如果能容忍后续的部分或者全部访问不到,则是弱一致性。如果经过一段时间后要求能访问到更新后的数据,则是最终一致性。 Availability 可用性 可用性指服务一直可用,整个系统是可以正常响应的。一般我们在衡量一个系统的可用性的时候,都是通过停机时间来计算的。我们经常说的3个9,4个9的SLA,就是对于可用性的量化表述。 Partition Tolerance分区容错性 分区容错性指分布式系统在遇到某节点或网络分区故障的时候,仍然能够对外提供满足一致性和可用性的服务。 而CAP定理证明

当远程工作成为未来的工作方式......

别说谁变了你拦得住时间么 提交于 2020-08-14 12:00:46
疫情期间 Atlassian 全球员工都在家办公,除了继续写代码之外, 他们还创作了这首超级好听的 《Virtual Insanity - Work From Home》,歌词见文末。 未来的工作方式就在这里,听听专家们怎么说。 我们向多家 支持远程工作的行业领袖公司收集了他们的观点。 每一个交易的完成、成功发起的活动或构建更好产品的分布式团队都在证明着 远程工作是未来的工作方式 。 远程工作是一种进化。以下是来自多个团队的远程工作专家的提示和预测。 甚至有机构认为,因为 公众对健康风险和碳足迹认识的提高,加上技术的不断演进,预测到 2030年,每个办公室都将成为虚拟办公室 。你相信吗?在不远的将来,最聪明公司的知识工作者们将从世界任何地方远程工作,在完全虚拟现实中或通过增强现实进行交互,类似于这个微软原型。 远程工作意味着你有大量安静的时间,专注于工作。但是,深度工作很容易让人疲劳! 调整你工作的节奏,捋捋猫、散散步......” Atlassian 主编 Sarah Goff-Dupont, 在明尼苏达州远程工作 对于远程工作者来说,改善协作的需求更为迫切。这是一个非常好的方式,但要承担更多的责任。 Automattic 产品经理 Leif Singer 当谈到工具时,最好不要不合理地限制远程团队可以使用或不能使用的工具,因为生产力可能是一个非常私人的问题。 Evernote

在Java / Maven中处理“Xerces hell”?

喜夏-厌秋 提交于 2020-08-14 11:29:49
问题: In my office, the mere mention of the word Xerces is enough to incite murderous rage from developers. 在我的办公室里,仅仅提到Xerces这个词就足以煽动开发者的凶悍愤怒。 A cursory glance at the other Xerces questions on SO seem to indicate that almost all Maven users are "touched" by this problem at some point. 粗略地看一眼其他Xerces关于SO的问题似乎表明,几乎所有Maven用户都会在某个时候“触及”这个问题。 Unfortunately, understanding the problem requires a bit of knowledge about the history of Xerces... 不幸的是,理解这个问题需要对Xerces的历史有一点了解...... History 历史 Xerces is the most widely used XML parser in the Java ecosystem. Xerces是Java生态系统中使用最广泛的XML解析器。 Almost every library

云原生时代,谁是容器的最终归宿?

こ雲淡風輕ζ 提交于 2020-08-13 17:58:50
前言 “云原生技术有利于各组织在公有云、私有云和混合云等新型动态环境中,构建和运行可弹性扩展的应用。云原生的代表技术包括容器、服务网格、微服务、不可变基础设施和声明式 API。这些技术能够构建容错性好、易于管理和便于观察的松耦合系统。结合可靠的自动化手段,云原生技术使工程师能够轻松地对系统作出频繁和可预测的重大变更。”来自CNCF。 K8S对网络,存储,计算进行了编排,已经成为了云原生的操作系统,给用户展现了一个新的界面,极大的简化了用户的运维,提升了资源的弹性,真正的做到了按需使用,降低了用户的成本。云原生快速被企业和开发者接受。Forrester 预测到2022年, 全球组织/公司在生成环境运行容器化应用,从今天不足30%的比例将大幅度提升到超过75%,企业应用容器化的趋势势不可挡。 容器在生产环境的应用的比例快速上涨,从2016年首次调查的23%,到2018年上涨到73%,实际到2020年已经上涨到84% 云原生应用正在引领各个应用领域实现云原生化,同时也在深刻改变着应用服务的方方面面。存储作为应用运行的基石,也在服务云原生化过程中提出了更多的需求。云原生存储为了满足云原生特性的要求,可用性、稳定性、扩展性、性能等核心能力都有大幅的优化。 作为国内最大的云产商,阿里云提供了丰富的云原生服务。和网络,计算的编排不同的是,存储需要考虑如何无缝的接入到K8S中进行编排和调度

Jira 和 Confluence 企业最佳部署方式

你说的曾经没有我的故事 提交于 2020-08-13 14:38:18
在Atlassian,我们为客户提供不同的方式来部署 Atlassian 产品:可以部署在由 Altassian 管理的云端(Cloud)上,也可以部署在客户自己选择的服务器(Server)或数据中心(Data Center)上。对于需要自托管版本的企业用户们,Data Center 版本提供了大型、复杂组织所需要的可靠性和灵活性。Data Center 版本还具有强大的安全性、高性能、产品洞察等特性,这些特性可以给予企业用户更多选择和能力去提升团队效能,同时还能节省时间和成本。 虽然 Data Center 版本有很多专为企业用户构建的性能,但我们还为大型组织提供了一些核心优势。在 Data Center 版本中可以使用以下 4 种方法来支持您的企业: 确保您的工具安全且合规 可靠的安全性和合规性对于任何企业来说都是至关重要的,这早已不是什么秘密了。根据 Marsh&McLennan 发布的《2018年网络与数据安全风险调查报告》,60% 的高管认为网络安全是组织的五大风险之一,这不足为奇,因为过去几年网络安全事件一直在稳定增长,这些网络安全事件对组织而言可能会造成巨大的损失。埃森哲和波耐蒙研究所估计,每个组织在 2018 年为了规避因为网络犯罪造成损失的平均成本为 1300 万美元(埃森哲/波耐蒙研究所,网络犯罪成本研究,2019)。考虑到网络安全事件相关所支出的这些成本,IT

关于分布式系统升级,你需要了解的几点

萝らか妹 提交于 2020-08-11 03:55:02
文章目录 前言 分布式系统升级的状态转化 关于Upgrade需要注意的点 关于Downgrade需要注意的点 引用 前言 对于一个系统来说,进行定期的升级维护是一件比较常见的事情。但是对于复杂分布式系统的升级,系统管理员系统考虑更多的因素来做升级这个事情。同时对于分布式系统开发者来说,他们也要考虑系统升级的前后兼容性,避免升级后部分老的功能无法使用或是升级回退后之前写出的数据无法使用等等类似的情况。本文笔者来简单聊聊关于分布式系统的升级,你需要了解和注意的那些事。 分布式系统升级的状态转化 在介绍本文主要内容前,我们首先需要对分布式系统的升级有一个总的了解,了解这里面总的几个过程阶段。 在这里,我们一般会有3个阶段: Older Version,升级前的初始阶段。 Pre-Finalized,升级中且并未结束的阶段。 New Version(Finalized),升级结束完成阶段。 在这3个阶段的状态转变过程中,需要外界来输入些action操作,来促使状态的转变,由用户来决定是否可以进入到下一个阶段了。 从Old Version到Pre-Finalized的action为Upgrade升级操作 从Pre-Finalized到New Version的action为Finalize确认操作 从Pre-Finalized到Old Version的action为Downgrade降级操作

SaaS、PaaS、IaaS的定义

这一生的挚爱 提交于 2020-08-11 00:21:50
IaaS(Infrastructure as a service – 基础设施即服务):用户可以在云服务提供商提供的基础设施上部署和运行任何软件,包括操作系统和应用软件。用户没有权限管理和访问底层的基础设施,如服务器、交换机、硬盘等,但是有权管理操作系统、存储内容,可以安装管理应用程序,甚至是有权管理网络组件。简单的说用户使用IaaS,有权管理操作系统之上的一切功能。我们常见的IaaS服务有虚拟机、虚拟网络、以及存储。 PaaS(Platform as a service – 平台即服务):PaaS给用户提供的能力是使用由云服务提供商支持的编程语言、库、服务以及开发工具来创建、开发应用程序并部署在相关的基础设施上。用户无需管理底层的基础设施,包括网络、服务器,操作系统或者存储。他们只能控制部署在基础设施中操作系统上的应用程序,配置应用程序所托管的环境的可配置参数。常见的PaaS服务有数据库服务、web应用以及容器服务。成熟的PaaS服务会简化开发人员,提供完备的PC端和移动端软件开发套件(SDK),拥有丰富的开发环境(Inteli、Eclipse、VS等),完全可托管的数据库服务,可配置式的应用程序构建,支持多语言的开发,面向应用市场。 SaaS(Software as a Service – 软件即服务):SaaS给用户提供的能力是使用在云基础架构上运行的云服务提供商的应用程序

「从零单排HBase 10」HBase集群多租户实践

邮差的信 提交于 2020-08-10 18:42:43
在HBase1.1.0发布之前,HBase同一集群上的用户、表都是平等的,大家平等共用集群资源。容易碰到两个问题: 一是某些业务较其他业务重要,需要在资源有限的情况下优先保证核心重要业务的正常运行 二是有些业务QPS常常很高,占用大量系统资源,导致其他业务无法正常运转。 这是典型的多租户问题。因此,我们需要通过资源隔离来解决多租户问题,同时,需要考虑计算型业务与存储型业务混合部署来提高集群的资源利用率。 1.基本概念 1.1 namespace逻辑隔离 HBase命名空间 namespace 与关系数据库系统中的数据库database类似,方便对表在业务上进行划分,实现逻辑隔离。 Apache HBase从0.98.0, 0.95.2两个版本开始支持namespace级别的授权操作,HBase全局管理员可以创建、修改和回收namespace的授权。 这种抽象为即将出现的多租户相关功能奠定了基础。 1.2. 配额管理(Quotas) 资源限制,主要针对用户、namespace以及表的QPS和请求大小进行限制。 相关jira见: https://issues.apache.org/jira/browse/HBASE-8410、https://issues.apache.org/jira/browse/HBASE-11598 一般可以对热点表进行限制,或者在高峰期,对非核心业务表进行限制

当下信息管理系统的技术缺陷以及解决方案

妖精的绣舞 提交于 2020-08-10 12:21:57
当下,信息管理系统是各行各业、各大企事业单位的标配,几乎大部分公司企业的管理运转都离不开 信息管理系统 的运用。不过,目前许多公司使用的信息管理系统比较陈旧,有着各式各样的问题,举个例子来看,某公司的信息系统体系如下: HRM:italent OA:企业微信+邮件 邮箱:内部搭建 产品研发管理:JIRA 财务系统:财务 销售管理:某CRM 然后以员工离职这个场景来看,当我们要为某员工做个退工操作时: 第一步:需要进入HRM系统进行退工封档; 第二步:需要进入OA系统里关闭权限; 第三步:关闭邮箱权限; 第四步:关闭JIRA项目权限; 第五步、第六步、第七步...... 可以看到,光光是这么简单的一个离职操作,信息系统的处理就要经过这么多这么复杂的步骤,实在是繁琐费时。更何况如果是公司企业上下大规模的、全流程的跨部门、跨系统的业务流程工作,那更是要费时费力了。其实,这正是由于信息管理系统下,子系统之间的数据无法互通,导致我们不得不在多个系统之间进行操作,尤其值得注意的是,如果其中任何一个系统的权限设置遗漏都有可能会造成一个不可挽回的损失。因此,这就需要给当下的信息管理系统进行升级,让它变得更加科学、更加智能。 那么一个优秀的信息管理系统它应该具备哪些优良的特性呢: 1.开源低代码平台,简单易上手,简化开发流程,降低开发成本; 2.强大的可视化代码生成器,可直接二次自主开发

MariaDB10.3 增补AliSQL补丁---安全执行Online DDL

落花浮王杯 提交于 2020-08-10 09:05:40
Online DDL 从名字上看很容易误导新手,以为不论什么情况,修改表结构都不会锁表,理想很丰满,现实很骨感,注意这个坑! 有以下两种情况执行DDL操作会锁表的,Waiting for table metadata lock(元数据表锁) 1、 增加、删除字段或索引不会锁全表,删除主键、更改字段属性会锁全表 ,见下图所示: 2、 在添加字段 alter table 表时,对该表的增、删、改、查均不会锁表。而在这之前,该表有被访问时,需要等其执行完毕后,才可以执行 alter table , 例如在会话一,故意执行一条大结果的查询,然后在会话二执行增加字段 age ,此时还会出现表锁 ,如下图所示: 针对第二种情况,MariaDB10.3 增补AliSQL补丁-DDL FAST FAIL,让其DDL操作快速失败。 语法为: ALTER TABLE tbl_name [WAIT n|NOWAIT] ... CREATE ... INDEX ON tbl_name (index_col_name, ...) [WAIT n|NOWAIT] ... DROP INDEX ... [WAIT n|NOWAIT] DROP TABLE tbl_name [WAIT n|NOWAIT] ... LOCK TABLE ... [WAIT n|NOWAIT] OPTIMIZE TABLE tbl