CMDB是配置管理数据库的简称,本CMDB只专注于存储运维相关的资源数据,有别于应用系统的配置管理。实际上企业一般都是自己内部的运维团队按照公司的运维场景需求设计和构建的CMDB,因为很少能有开源产品能满足他们的需求,或者是个性化的需求二次开发比较难以实现,所以他们都选择了自主研发,而不是使用开源。

因此,要实现一个尽可能通用、灵活、可扩展的运维资源数据的配置和管理系统,系统必须要满足:

  1. 运维人员能根据企业的运维场景和需求,自己去构建存储的数据模型,以及模型之间的关系
  2. 提供丰富的API,尤其是在数据和关系检索要做到通用,便于二次开发
  3. 用户可以方便的订阅自己关心的数据,有丰富的图表展示
  4. 数据的自动发现和细粒度的权限控制
基于上述理念,设计并实现了一个CMDB,并开源出来,希望能得到大家的积极反馈,系统将持续不断得改进。
 0
 分享

分布式重试服务平台 Easy-Retry

在分布式系统大行其道的当前,系统数据的准确性和正确性是重大的挑战,基于CAP理论,采用柔性事务,保障系统可用性以及数据的最终一致性成为技术共识 为了保障分布式服务的可用性,服务容错性,服务数据一致性 以及服务间掉用的网络问题。依据"墨菲定律",增加核心流程重试,数据核对校验成为提高系统鲁棒性常用的技术方案。

 0
 分享

TopIAM 数字身份管控平台,简称:EIAM(Employee Identity and Access Management), 用于管理企业内员工账号、权限、身份认证、应用访问,帮助整合部署在本地或云端的内部办公系统、业务系统及三方 SaaS 系统的所有身份,实现一个账号打通所有应用的服务。

 0
 分享
Java是一门面向对象编程语言,不仅吸收了C++语言的各种优点,还摒弃了C++里难以理解的多继承、指针等概念,因此Java语言具有功能强大和简单易用两个特征。Java语言作为静态面向对象编程语言的代表,极好地实现了面向对象理论,允许程序员以优雅的思维方式进行复杂的编程。
 0
 分享
PHP(PHP:Hypertext Preprocessor)是一种在电脑上执行的脚本语言,主要是用途在于处理动态网页,也包含了命令列执行接口(command line interface),或者产生图形使用者接口(GUI)程式。
 0
 分享
C#是微软推出的一种基于.NET框架的、面向对象的高级编程语言。C#是一种由C和C++派生出来的面向对象的编程语言。它在继承C和C++强大功能的同时去掉了一些它们的复杂特性,使其成为C语言家族中的一种高效强大的编程语言。C#以.NET框架类库作为基础,拥有类似Visual Basic的快速开发能力。C#由安德斯·海尔斯伯格主持开发,微软在2000年发布了这种语言,希望借助这种语言来取代Java。C#已经成为Ecma国际和国际标准组织的标准规范。
 0
 分享
.NET是.NET Framework的新一代版本,是微软开发的第一个跨平台 (Windows、Mac OSX、Linux)的应用程序开发框架(Application Framework),未来也将会支持FreeBSD与Alpine 平台。.Net Core也是微软在一开始发展时就开源的软件平台,它经常也会拿来和现有的开源 .NET 平台Mono比较。
 0
 分享
C是一种通用的编程语言,广泛用于系统软件与应用软件的开发。于1969年至1973年间,为了移植与开发UNIX操作系统,由丹尼斯·里奇与肯·汤普逊,以B语言为基础,在贝尔实验室设计、开发出来。
 0
 分享
C++是一种被广泛使用的计算机程序设计语言。它是一种通用程序设计语言,支持多重编程范式,例如过程化程序设计、数据抽象、面向对象程序设计、泛型程序设计和设计模式等。
 0
 分享
Objective-C是一种通用、高级、面向对象的编程语言。它扩展了标准的ANSI C编程语言,将Smalltalk式的消息传递机制加入到ANSI C中。目前主要支持的编译器有GCC和Clang(采用LLVM作为后端)。
 0
 分享
Python 是一种广泛使用的解释型、高级和通用的编程语言。Python支持多种编程范型,包括函数式、指令式、结构化、面向对象和反射式编程。它拥有动态类型系统和垃圾回收功能,能够自动管理内存使用,并且其本身拥有一个巨大而广泛的标准库。
 0
 分享
Go(又称Golang)是Google开发的一种静态强类型、编译型、并发型,并具有垃圾回收功能的编程语言。
 0
 分享
JavaScript(通常缩写为JS)是一种高级的、解释型的编程语言[8]。JavaScript是一门基于原型、头等函数的语言,是一门多范式的语言,它支持面向对象程序设计,指令式编程,以及函数式编程。它提供语法来操控文本、数组、日期以及正则表达式等,不支持I/O,比如网络、存储和图形等,但这些都可以由它的宿主环境提供支持。它已经由ECMA(欧洲电脑制造商协会)通过ECMAScript实现语言的标准化。它被世界上的绝大多数网站所使用,也被世界主流浏览器(Chrome、IE、Firefox、Safari、Opera)支持。
 0
 分享
Ruby 是一种面向对象、指令式、函数式、动态的通用编程语言。在20世纪90年代中期由日本计算机科学家松本行弘(Matz)设计并开发。
 0
 分享
Swift编程语言,支持多编程范式和编译式,用来撰写基于macOS/OS X、iOS、iPadOS、watchOS和tvOS的软件。 苹果公司于2014年在苹果开发者年会(WWDC)发布了Swift编程语言。从设计上苹果公司让Swift与Objective-C共存在苹果公司的操作系统上。
 0
 分享
Node.js 是能够在服务器端运行 JavaScript 的开放源代码、跨平台执行环境。Node.js 由 OpenJS Foundation(原为 Node.js Foundation,已与 JS Foundation 合并)持有和维护,亦为 Linux 基金会的项目。Node.js 采用 Google 开发的 V8 执行代码,使用事件驱动、非阻塞和异步输入输出模型等技术来提高性能,可优化应用程序的传输量和规模。这些技术通常用于资料密集的即时应用程序。
 0
 分享
Kotlin是一种在Java虚拟机上执行的静态类型编程语言,它也可以被编译成为JavaScript源代码。它主要是由俄罗斯圣彼得堡的JetBrains开发团队所发展出来的编程语言,其名称来自于圣彼得堡附近的科特林岛。
 0
 分享
R语言是一种自由软件编程语言与操作环境,主要用于统计分析、绘图以及数据挖掘。R本来由来自新西兰奥克兰大学的统计学家罗斯·伊哈卡和罗伯特·杰特曼开发,现在由R开发核心团队负责开发。伊哈卡与杰特曼两人名前缀字母都是R,R语言因此得名。
 0
 分享
SQL 是一种特定目的程式语言,用于管理关系数据库管理系统(RDBMS),或在关系流数据管理系统(RDSMS)中进行流处理。
 0
 分享
Perl是高端、通用、解释型、动态的编程语言家族。最初设计者拉里·沃尔为了让在UNIX上进行报表处理的工作变得更方便,决定开发一个通用的脚本语言,而在1987年12月18日发表。目前,Perl语言家族包含两个分支Perl 5以及Perl 6。虽然Perl不是正式的首字母缩略词,但仍有各种各样的逆向首字母缩略词,包括“实用的提取和报告语言”。
 0
 分享