InfraPub 为您找到相关结果 52

一位资深Java架构师的晋级心得

计原理,Spring事务处理机制,SpringMVC,Spring源码分析Mybatis:Mybatis体系结构,Mybatis核心应用与配置,Mybatis关联查询,与Spring集成,Mybatis源码分析 2. 工程化工具 Maven项目工具:Maven命令使用,Maven的pom配置体系,插件机制及插件开发,Nexus使用,上传,配置Git版本控制:Git安装和理解仓库,工作常用命令,分支和Tag管理,代码冲突解决方案,Github开源社区,Git企业应用,与IDE集成Sonar代码检测:Sonar环境搭建和使用,使用Sonar进行代码质量管理,与IDE集成使用Jenkins:搭建Jenkins自动化部署环境,集成git/maven/sonar工具,插件机制 3. 微服务架构...阅读全文

博文 2019-01-13 22:49:22 debian.cn

分布式运行时 Dapr 知多少

Intro Dapr 官方团队已于最近(2021.1.17)正式发布Dapr v1.0,Dapr已正式生产可用,可以部署到自托管环境或 Kubernetes 集群。对于绝大多数开发者来说,想必对Dapr只是有所耳闻,而具体是什么(What),可以解决什么样的问题(Why&How),有怎样的应用场景(Where),并不知悉。本文就尝试简要梳理下Dapr,并尝试回答以上问题。 What's Dapr Distributed Application Runtime. An event-driven, portable runtime for building microservices on cloud and edge. 应用运行时。一个事件驱动、可移植的运行时用于在云上和边缘计算上构建...阅读全文

在 Kubernetes 上扩展 TensorFlow 模型

由于人工智能 / 机器学习日益集成到应用和业务流程中,因此生产级机器学习模型需要更多可扩展的基础设施和计算能力,以用于训练和部署。 现代机器学习算法在大量数据上进行训练,并且需要数十亿次迭代才能使成本函数最小化。这类模型的垂直扩展会遇到操作系统级别的瓶颈,包括可提供的 CPU、GPU 和存储的数量,而且对于这种类型的模型,已经证明效率并不高。更为高效的并行处理算法,例如异步训练和 allreduce 式训练,需要一个集群系统,由不同的 worker (工作器)以协调的方式同时学习。 可扩展性对于在生产环境中服务深度学习模型也非常重要。将单个 API 请求处理到模型预测端点可能会触发复杂的处理逻辑,这将花费大量时间。由于更多用户访问模型的端点,为了有效地处理客户端请求,需要更多服务实例...阅读全文

分布式存储系统 Ceph 10.2.7 发布

Ceph v10.2.7 发布了。Ceph 是加州大学 Santa Cruz 分校的 Sage Weil(DreamHost 的联合创始人)专为博士论文设计的新一代自由软件文件系统。自 2007 年毕业之后,Sage 开始全职投入到 Ceph 开 发之中,使其能适用于生产环境。Ceph 的主要目标是设计成基于 POSIX 的没有单点故障的文件系统,使数据能容错和无缝的复制。 该版本更新日志尚未找到,了解更多请查看 提交记录 或关注 官方博客 。 下载地址 Source code (zip) Source code (tar.gz)...阅读全文

SpringCloud 之外的选择:国产JBoot v1.7.1 发布

JBoot 是一个基于 JFinal 和 Undertow 开发的微服务框架。提供了 AOP、RPC、缓存、限流、降级、熔断、统一配置中心、Opentracing 数据追踪、metrics 数据监控、 session、代码生成器、shiro 和 jwt 安全控制、swagger api 自动生成等功能。 Jboot v1.7.1 主要更新如下: 新增:redis 添加自定义序列化配置的功能 新增:Jboot.java 添加方法 service(Class clazz, JbootrpcServiceConfig config) 方便获取 rpc service 新增:JbootController 添加 getRawObject() 方便获取 api 传过来的 json 数据...阅读全文

博文 2018-10-24 13:19:05 debian.cn

Firefox 59 将启用对分布式网络架构协议的支持

为了帮助实现更加开放、让每个人都能轻松访问到的互联网技术,Mozilla 于去年与美国国家科学基金会携手提供了 200 万美元的奖金。现在,这个项目似乎已经取得了积极的成果。 Mozilla 刚刚宣布,自 Firefox 59 开始,用户将能够通过扩展来启用“互联网协议”。Firefox 59 的正式版定于 2018 年 3 月份推出,其中包含了对一些新批准的协议的支持,比如 Dat Project、IPFS、以及 Secure Scuttlebutt 。 此举意味着 Mozilla 在积极为当前占主导地位的“客户端-服务器”模型(CS Model)寻找替代方案。需要指出的是,协议实施的重担并没有落在 Mozilla 身上,只是 Firefox 浏览器会将其认定为合法的而已。此...阅读全文

博文 2018-01-31 10:35:07 debian.cn

Elasticsearch 7.6.0 发布,分布式搜索和分析引擎

Elasticsearch 7.6.0 发布了,Elasticsearch 是一个的 RESTful 风格的搜索和数据分析引擎。 更新内容较多,摘取部分新特性: Aggregations 新的直方图字段映射器,支持百分位数聚合 #48580 (issue: #48578)对字符串术语实施统计汇总 #47468 Analysis 实施 Lucene EstonianAnalyzer,投票 #49149 (issue: #48895) Authentication 受密码保护的密钥库 (Feature Branch) #49210 Features/ILM+SLM 等待 SLM 策略执行的 ILM 操作 #50454 (issue: #45067)添加 ILM histore 商店索引...阅读全文

MongoDB 4.2 正式发布 引入分布式事务

MongoDB 4.2 正式发布了,MongoDB Server 4.2 提高了现代事务和分析数据平台的技术水平。 Mongodb-4.2 的主要改动包括: 事务将 MongoDB 的多文档 ACID 从副本集扩展到共享集群,能够为更广泛的用例服务按需物化视图使用新的 $Merge 运算符,在集合中缓存大型聚合的输出是一种常见的模式,新的 $Merge 运算符将可以有效地更新这些结果,而不是完全重新计算它们通配符索引使建模像产品目录这样的高度异构的集合变得简单和自然,而不牺牲对索引的支持。只需定义一个过滤器,它将自动索引集合中所有匹配的字段、子文档和数组MongoDB 查询语言增强功能,如更有表现力的更新、新的数学运算符和扩展的 regex 支持。此版本的 update 和...阅读全文

博文 2019-08-16 07:54:08 debian.cn

开源堡垒机 Jumpserver 1.4.7 发布

Python / Django 进行开发,遵循 Web 2.0 规范,配备了业界领先的 Web Terminal 解决方案,交互界面美观、用户体验好。 Jumpserver 采纳架构,支持多机房跨区域部署,中心节点提供 API,各机房部署登录节点,可横向扩展、无并发限制。 下载地址: Source code(zip)Source code(tar.gz)...阅读全文

博文 2019-02-02 10:36:34 debian.cn

Open Source Initiative 批准四个新的开源许可证

许可证。 四个新的许可证 首先是 Cryptographic Autonomy License(CAL)。这个许可证是为密码学应用而设计的。现有的开源许可证无法保证开放性,因为如果没有义务与其他对等体共享数据,那么一个对等体就有可能损害网络的运行。所以,CAL 除了是一个强大的版权许可以外,还包括向第三方提供独立使用和修改软件所需的权限和材料,而不使第三方有数据或功能的损失。 随着密码学在加密结构的点对点共享中越来越多的使用,如果更多的开发者发现自己需要一个像 CAL 这样的法律工具,也就不足为奇了。我们希望由此产生的许可证是清晰易懂的,并希望开源从业者会发现它大有用处。 在我们之前的报道中曾提到,欧洲核子研究组织 CERN 提交的 CERN Open Hardware...阅读全文

博文 2021-03-01 10:44:35 OSChina

分布式任务调度平台 XXL

XXL-JOB是一个轻量级任务调度平台,其核心设计目标是开发迅速、学习简单、轻量级、易扩展。现已开放源代码并接入多家公司线上产品线,开箱即用。 v2.0.0 Release Notes 1、调度中心迁移到 springboot ; 2、底层通讯组件迁移至 xxl-rpc ; 3、容器化:提供官方 docker 镜像,并实时更新推送 dockerhub(docker pull xuxueli/xxl-job-admin),进一步实现产品开箱即用; 4、新增无框架执行器 Sample 示例项目 “xxl-job-executor-sample-frameless”。不依赖第三方框架,只需 main 方法即可启动运行执行器; 5、命令行任务:原生提供通用命令行任务 Handler(Bean...阅读全文

博文 2018-11-05 21:47:15 JOB 2.0.0 发布

开源图数据库 Dgraph 完成 300 万融资

据 Dgraph Labs 创始人 Manish Rai Jain 在其宣布 1.0.0 版本正式发布 的 文章 中透漏,他们已完成了由贝恩资本投资公司的 Salil Deshpande 领头的 300 万融资。凭借早期在基础设施软件和开源软件方面的经验,Salil 将加入 Dgraph 董事会。Jain 表示,这一轮融资正好是我们扩大云服务的时机,并继续建立世界上最先进的图数据库。 Dgraph 是一个可扩展的,的,低延迟的图数据库,于 2015 年开源,最初是出于希望消除传统关系型数据库的典型弱点而创建的。为了解决组织在数据库增长超过单个服务器时面临的一些问题,Dgraph 以更有效的方式分割数据,这使查询可以在没有通用视图的情况下执行。它还减少了网络调用和磁盘查询需要执行查询的...阅读全文

Consul 1.6 GA 发布

Consul 1.6.0 已于近日 发布 GA 版本 ,Consul 是 HashiCorp 公司推出的开源工具,也是主流的用于实现系统服务发现与配置的方案。HashiCorp 对 Consul 的介绍是一个多云服务网络平台,用于在跨任何运行时平台和公共云或私有云的场景连接和保护服务。 本次更新主要集中在 Consul Connect(为其增加了一些主要新特性)和 Consul 的服务网格解决方案方面,此外还有一些改进和错误修复。 Consul 1.6 新特性 支持对 L7 层的流量管理 。1.6 使用了新的配置条目类型,可为服务到服务(service-to-service)的请求启用高级流量管理模式。其他配置条目类型如服务解析器、服务隔离器以及服务路由器通过高级服务故障转移和部署模...阅读全文

分布式版本控制系统 Git v2.12.2 发布

Git v2.12.2 发布了,Git 是一个开源的版本控制系统,用以有效、高速的处理从很小到非常大的项目版本管理。是 Linus Torvalds 为了帮助管理 Linux 内核开发而开发的一个开放源码的版本控制软件。 部分更新内容: git status –porcelain” is supposed to give a stable output, but a few strings were left as translatable by mistake. “Dumb http” transport used to misparse a nonsense http-alternates response, which has been fixed. “git diff...阅读全文

博文 2021-01-28 17:50:24 debian.cn

Golang 操作 Kafka 样例

1. Kafka介绍 1.1.1. Kafka是什么 kafka使用scala开发,支持多语言客户端(c++、java、python、go等) Kafka最先由LinkedIn公司开发,之后成为Apache的顶级项目。 Kafka是一个的、分区化、可复制提交的日志服务 LinkedIn使用Kafka实现了公司不同应用程序之间的松耦和,那么作为一个可扩展、高可靠的消息系统 支持高Throughput的应用 scale out:无需停机即可扩展机器 持久化:通过将数据持久化到硬盘以及replication防止数据丢失 支持online和offline的场景 复制代码 1.1.2. Kafka的特点 Kafka是的,其所有的构件borker(服务端集群)、producer(消息生产...阅读全文

博文 2023-01-10 13:46:09 掘金

Kubernetes 1.14 发布,31 项功能增强

Kubernetes 1.14 发布了,些版本主要关注可扩展性并支持更多工作负载,带来了 30多项功能增强,其中包括从 beta 到稳定的 10 项功能。亮点包括以下几部分。 持久化本地存储 持久性本地存储的主要用例是数据库和文件系统。这是一个重要里程碑,显然,本地存储的性能优于远程磁盘,无论该存储是由云提供商提供的本地 SSD 还是连接到裸机系统的磁盘。 Windows 节点的生产级支持 绝大多数企业都拥有包含 Windows 工作负载的异构环境,现在不必寻找其它协调器来管理这些 Windows 容器。Kubernetes v1.14 改进支持了 pod、服务类型、工作负载控制器和 metrics/quotas,使得与 Linux 功能相当。 PID 限制 目前处在测试阶段...阅读全文

Kong 发布 API 协作设计工具 Insomnia Designer

帮助他们采用和适应架构,同时提升开发的质量和速度。 Insnia Designer 的诞生是为了让用户能够模仿团队的工作方式来构建工作流。Insomnia Designer 以 DevOps、CI/CD 和 GitOps 最佳实践为基础构建,能够自动生成 Kubernetes 和 Kong 的声明式配置,使繁琐的流程自动化,并将配置飘移(Configuration Drift)的风险降到最低。 同时,为了提高可视化效果以及协作性,Insomnia Designer 提供了一个文档列表,用于查看和管理 API 规范。此外还提供了用于 API 设计的详细消息以及关于它们的整个 Git 历史记录(已集成 Git)。这样的好处在于用户可以确保对所有 REST 和 GraphQL API 规范文...阅读全文

博文 2020-05-03 15:28:11 debian.cn

Cloudpods容器化经验分享

Cloudpods是一个开源的多云混合云管理平台。Cloudpods首先是一个私有云云平台,具备将计算节点使用开源QEMU/KVM虚拟化技术虚拟出虚拟机,实现私有云的功能。其次,Cloudpods能够纳管其他的云平台,包括主流私有云和公有云,实现云管的功能。 Cloudpods的目标是帮助用户基于本地基础设置以及已有云基础设置,构建一个统一融合的云上之云,达到降低复杂度,提高管理效率的效果。Cloudpods从3.0开始全面拥抱Kubernetes,基于Kubernetes部署运行云平台的服务组件,采用Kubernetes Operator,基于Kubernetes集群自动化部署服务,实现了云平台的服务的容器化部署。本文总结了Cloudpods在过去3年云平台底层容器化改造的经...阅读全文

Golang后端面试题目

,merge跟rebase 技术二面 项目相关 通过腾讯会议,腾讯的两个大佬一起面试。 项目实现爬虫的流程爬虫如何做的鉴权吗怎么实现的爬虫电商系统图片多会造成带宽过高,如何解决micro服务发现mysql底层有哪几种实现方式channel底层实现java nio和 go 区别读写锁底层是怎么实现的go-micro 微服务架构怎么实现水平部署的,代码怎么实现micro怎么用怎么做服务发现的mysql索引为什么要用B+树?mysql语句性能评测?服务发现有哪些机制raft算法是那种一致性算法raft有什么特点当go服务部署到线上了,发现有内存泄露,该怎么处理还有一些非常底层的问题 总结 腾讯对于基础部分是相当重视的,总体回答的还算可以项目部分腾讯也是非常重视,从电话里面听出来有一个架构在面试我...阅读全文

博文 2020-04-13 13:13:00 2020腾讯社招

基于thanos搭建分布式prometheus

的永久存储和查询能力。 Compactor则是对Bucket里的历史数据进行采样或者清理,有具体需求后再自行研究即可。 上述组件均是可选的,没有历史数据永存需求的可以直接忽略。 方案2:thanos receive + thanos querier thanos提供的另一种方案是计算与存储分离,利用thanos receive组件部署一个存储集群,然后令prometheus通过remote write机制直接写入到thanos receive集群完成存储,这样prometheus本身就无状态了。 再利用thanos querier反向代理到thanos receive集群,最终对外提供统一的promql查询入口,这个阶段就没有prometheus什么事了。 这套方案的工作原理如下...阅读全文

博文 2021-03-01 13:02:46 鱼儿的博客

2018 GitHub 最火技术趋势

GitHub的高级技术副总裁Jason Warner在2018的技术趋势中挑出了数据、工作流集成(workflow integration)以及开源工具,他认为这些是一个公司在2018年能够取得成功的关键。 Warner写道,数据将成为2018年全球增长的最重要因素: 现如今,所有的公司都是数据公司,不论他们是否意识到这个情况。在2018年,只要团队知道如何使用数据,数据就会成为他们最大的资产。 数据的重要性日益增长,也标志着云服务平台从云计算平台转型成为数据处理的云平台,其中还包括数据分析和机器学习。这将重点反映到三个关键领域: Warner说,许多重要的系统目前都很脆弱,尽管它们的规模越来越大。为了应对在2018年变得更加频繁的攻击,将会有更多的财力和开发资源分配到改进安全性上...阅读全文

博文 2017-12-14 22:50:29 debian.cn

高性能日志采集工具 logpipe 简单介绍

日志文件增长,某些应用会在目标目录下产生多个日志文件甚至现在不能确定将来的日志文件名,架构上要支持多输入多输出流式日志采集传输,为了达成以上需求,我研究了所需技术,评估实现难度并不高,就自研了 logpipe。 logpipe 是一个、高可用的用于采集、传输、对接落地的日志工具,采用了插件风格的框架结构设计,支持多输入多输出按需配置组件用于流式日志收集架构,无第三方依赖。 logpipe 的一种用法是能异步实时监控集群里的所有日志目录,一旦有文件新增或追加写,立即采集并传输到大存储上以相同日志文件名合并落地,或者写入 HDFS。异步意味着不影响应用输出日志的性能,实时意味着一有日志立即采集,很多日志采集工具如 flume-ng、logstash 介绍文档通篇不提采集方式是否实时还是周期...阅读全文

ChaosMesh 的基本功能有哪些

Chaos Mesh 的基本功能,包括故障注入、混沌实验场景、可视化操作、安全保障。故障注入​故障注入是混沌实验的核心。Chaos Mesh 充分考虑系统可能出现的故障,提供全面、细粒度的故障类型,分为基础资源类型故障、平台类型故障和应用层故障三大类。基础资源类型故障:PodChaos:模拟 Pod 故障,例如 Pod 节点重启、Pod 持续不可用,以及特定 Pod 中的某些容器故障。NetworkChaos:模拟网络故障,例如网络延迟、网络丢包、包乱序、各类网络分区。DNSChaos:模拟 DNS 故障,例如 DNS 域名解析失败、返回错误 IP 地址。HTTPChaos:模拟 HTTP 通信故障,例如 HTTP 通信延迟。StressChaos:模拟 CPU 抢占或内存抢占场景...阅读全文

总结系统设计中的33个黄金法则

关。 18. 针对单点故障——实施冗余。 19. 为了容错性和持久性——实施数据复制。 20. 对于用户到用户的快速通信 — 使用 Websockets。 21. 系统中的故障检测——实现心跳。 22. 数据完整性——使用校验和算法。 23. 高效的服务器扩展——一致性哈希。 24. 去中心化数据传输——考虑 Gossip 协议。 25. 基于位置的功能 — 使用四叉树、Geohash 等。 26. 避免特定的技术名称 — 使用通用术语。 27. 高可用性和一致性的权衡——最终一致性。 28. 对于IP解析和域名查询——DNS。 29. 处理网络请求中的大数据——实施分页。 30. 缓存删除策略 — 首选...阅读全文

社交巨人Facebook使用Linux和Btrfs的姿势

针对性地使用Btrfs的一些特性来提高我们手头工作的性能。我们比较关注在系统任务管理、快照之类的事情上。 Linux.com:我们都知道Facebook是Linux的重度用户。在Facebook庞大的基础设施里,哪些地方用到了Linux? Chris Mason:简单地说,Facebook所有的基础设施都使用了Linux。围绕操作系统我们利用了Btrfs的很多特性,比如任务管理、利用快照功能快速更新以及哈希校验功能,等等。 我们在相当数量的机器上运行着Gluster——既支持XFS也支持Btrfs,我们的目标就是做好存储这件事。在Gluster上喜欢用Btrfs的其中一个原因是,数据循环冗余校验(cyclic redundancy checks)和元数据循环冗余校验使我们能够检测...阅读全文

博文 2021-01-28 17:50:22 debian.cn

得物云原生全链路追踪Trace2.0-采集篇 - OSCHINA

开源的 Pinpoint,近几年 Uber 公司开源的 Jaeger,以及我们国内吴晟开源的 SkyWalking。 有人说,这些其实都归功于 Google 在 2010 年基于其内部大规模链路追踪系统 Dapper 实践而发表的论文,它的设计理念是一切调用链追踪系统的始祖,但其实早在二十年前(2002年),当年世界上最大的电商平台 eBay 就已拥有了调用链追踪系统 CAL(Centralized Application Logging)。2011 年,原eBay的中国研发中心的资深架构师吴其敏跳槽至大众点评,并且深入吸收消化了 CAL 的设计思想,主导研发并开源了CAT(Centralized Application Tracking)。 CAT 作为国人主导的开源系统,其本...阅读全文

博文 2022-12-10 06:50:41 中文开源技术交流社区

Hadoop 核心 - HDFS 分布式文件系统详解

1. HDFS概述 Hadoop 系统框架中,首要的基础功能就是文件系统,在 Hadoop 中使用 FileSystem 这个抽象类来表示我们的文件系统,这个抽象类下面有很多子实现类,究竟使用哪一种,需要看我们具体的实现类,在我们实际工作中,用到的最多的就是HDFS(文件系统)以及LocalFileSystem(本地文件系统)了。 在现代的企业环境中,单机容量往往无法存储大量数据,需要跨机器存储。统一管理分布在集群上的文件系统称为文件系统。 HDFS(Hadoop Distributed File System)是 Hadoop 项目的一个子项目。是 Hadoop 的核心组件之一, Hadoop 非常适于存储大型数据 (比如 TB 和 PB),其就是使用 HDFS 作为存...阅读全文

Facebook 是如何进行大规模代码部署的

练的开发人员、强大的技术管理,开放和平等的文化,风险回报权衡管理、客观回顾失败以及有专注力的小团队。 Facebook 的准连续部署系统具备这几个优点:没有推送热补丁的手工开销,对工程师团队有更好的支持,为工程师提供了更快的反馈循环。...阅读全文

博文 2017-10-31 14:05:20 debian.cn

Rust 1.37.0 稳定版发布

1.37.0 中,还可以使用 Self : Variable 引用枚举变量: impl Coin { fn value_in_cents(&self) -> u8 { match self { Self::Penny => 1, Self::Nickel => 5, Self::Dime => 10, Self::Quarter => 25, } } } 更确切地说,Rust 现在允许通过“type-relative resolution”来引用枚举变量,>::Variant。 内置 cargo 支持独立依赖关系 cargo vendor 命令集成到 Cargo,该命令获取项目的所有依赖项,将它们解压缩到 vendor/ 目录中,并展示了在构建过程中使用代码所需的配置片段...阅读全文

博文 2019-08-17 21:17:23 debian.cn

亚马逊12个月免费云服务

热线、在线聊天支持。作为全球云服务的龙头企业,亚马逊云计算拥有最广泛的全球云计算基础设施,全球节点丰富,为网站的快速稳定访问提供基础设施保障。配合亚马逊全球CDN节点,能满足不同国家独立站访问速度需求。1.什么是云服务器?云计算服务器(也称云服务器或云主机)是云计算服务系统中的主机产品,有效解决了传统物理主机中管理难度大、业务扩展性弱的缺陷。在实际应用中,云主机具有三个方面的灵活性:主机服务配置和业务规模可根据用户需求配置,可灵活调整。用户申请的主机服务可以快速供应和部署(实时在线开通),实现集群内灵活可扩展的收费模式,用户无需支付押金,有多种支付模式供用户选择。2.云服务器适合什么样的用户?关注主机服务性价比的用户;需要快速实现部署的用户;需要灵活扩展业务的用户;对系统高可用性和快速...阅读全文

为何 Kubernetes 如此受欢迎?

Google 开发的这个容器管理系统很快成为开源历史上最成功的案例之一。Kubernetes 是一个在过去几年中快速流行起来的开源容器管理平台。它被众多大企业用于关键任务,已成为开源方面最成功的案例之一。这是怎么发生的?该如何解释 Kubernetes 的广泛流行呢? Kubernetes 的背景:起源于 Google 的 Borg 系统 随着计算世界变得更加、更加基于网络、以及更多的云计算,我们看到了单个大型的应用慢慢地转化为多个敏捷微服务。这些微服务能让用户单独缩放应用程序的关键功能,以处理数百万客户。除此之外,我们还看到像 Docker 这样的容器等技术出现在企业中,为用户快速构建这些微服务创造了一致的、可移植的、便捷的方式。 随着 Docker 继续蓬勃发展,管理这些微服务器...阅读全文

博文 2017-11-07 23:58:26 debian.cn

最全的 DevOps 工具集合

、Bitbucket 和 Subversion。 Git Git 是一个版本控制系统,用来在软件开发过程中跟踪源代码的更改。它是专为协调不同程序员的工作而设计的,也可用于跟踪各种文件集中的更改。它的优势包括速度、数据完整性以及对非线性工作流的支持。 GitHub GitHub 提供了 Git 的版本控制和源代码管理功能,自己也有很多特性。 GitLab GitLab 中的版本控制提供了世界一流的源代码管理功能,可帮助你的开发团队共享、协作并尽可能提高生产力。 Bitbucket Bitbucket 是 Atlassian 所有的、基于 Web 的版本控制库托管服务,可用在使用 Mercurial 或 Git 版本控制系统的源代码和开发项目上。 Subversion Apache...阅读全文

博文 2021-05-26 14:35:21 博客园

Apollo 分布式配置中心详解

Apollo(阿波罗)是携程框架部门研发的配置中心,能够集中化管理应用不同环境、不同集群的配置,配置修改后能够实时推送到应用端,并且具备规范的权限、流程治理等特性,适用于微服务配置管理场景。 本文简单从功能特点做介绍,更详细的说明请参考Apollo配置中心介绍。本地快速部署可以参考这里。线上的演示环境从这里可以访问到: 106.54.227.205 (账号/密码: apollo/admin) Apollo 配置中心产生背景 大多情况下程序随着功能的复杂,程序的配置也会增多:包括各种功能开关、参数配置、服务地址信息配置等,同时开发人员对程序配置的期望值也越来越高:配置修改后实时生效,灰度发布,分环境、分集群的管理配置、权限控制、审核机制等。 在这样的大环境下,传统的通过配置文件、数据库...阅读全文

博文 2020-04-12 12:16:26 debian.cn

Kubernetes v1.21 新特性预览

个 annotation controller.kubernetes.io/pod-deletion-cost,其值表示删除一个 Pod 的成本,值越小代表越优先删除。当 annotation 不存在时,表示其删除成本为 0。Indexed Jobs Alpha通常,当使用 Job 来运行任务时,用户需要一个单独的系统来在 Job 的不同 worker Pod 之间分配任务。比如,设置一个工作队列,逐一给每个 Pod 分配任务。Kubernetes v1.21 新增的 Indexed Job 会给每个任务分配一个数值索引,并通过 annotation batch.kubernetes.io/job-completion-index 暴露给每个 Pod。使用方法为在 Job spec 中...阅读全文

博文 2021-03-30 20:24:36 mp.weixin.qq.com

玩转 AWS 的必备工具

个轻巧的存储。小编迄今依然仍在应用GXP开展日常的管理方法和规模性数据处理方法实际操作这些,有感兴趣的大家能够到GXP首页查询:qnu/gxp。 SaltStackSaltStackautomationforCloudOps,ITOps&DevOpsatscale SaltStack也是根据Python的一种系统软件布署管理系统软件。和Ansible相近,SaltStack也是根据ssh和服务项目上的SaltStack过程(minions)通讯并根据YAML叙述环境变量。可是有别于Ansible,SaltStack选用的是主从关系式的多级别系统架构,因而必须在服务端事先安裝一个SaltStackminion软件包。 系统架构图自动生成可视化工具...阅读全文

玩转 AWS 的必备工具

一个根据make的Map-Reduce解决构架和一个轻巧的存储。小编迄今依然仍在应用GXP开展日常的管理方法和规模性数据处理方法实际操作这些,有感兴趣的大家能够到GXP首页查询:qnu/gxp。 SaltStackSaltStackautomationforCloudOps,ITOps&DevOpsatscale SaltStack也是根据Python的一种系统软件布署管理系统软件。和Ansible相近,SaltStack也是根据ssh和服务项目上的SaltStack过程(minions)通讯并根据YAML叙述环境变量。可是有别于Ansible,SaltStack选用的是主从关系式的多级别系统架构,因而必须在服务端事先安裝一个SaltStackminion软件包。 系统架构图自动...阅读全文

欧洲核子研究组织(CERN)是如何使用 Linux 和开源的 - 云+社区

将面临更大的挑战。大型强子对撞机有一个到 2035 年的蓝图,包括一些重要的升级。“我们的加速器运转三到四年,然后会用 18 个月或两年的时间来升级基础架构。在这维护期间我们会做一些计算能力的规划。 ”Bell 说。CERN 还计划升级高亮度大型强子对撞机,会允许更高光度的光束。与目前的 CERN 的规模相比,升级意味着计算需求需增加约 60 倍。“根据摩尔定律,我们可能只能满足需求的四分之一,因此我们必须找到相应的扩展计算能力和存储基础架构的方法,并找到自动化和解决方案,例如 OpenStack,将有助于此。”Bell 说。“当我们开始使用大型强子对撞机并观察我们如何提供计算能力时,很明显我们无法将所有内容都放入 CERN 的数据中心,因此我们设计了一个网格结构:位于中心的 CERN...阅读全文

博文 2021-11-29 13:20:55 腾讯云

Kubernetes 1.7:安全加固、有状态应用更新等

智能仓库打造数据中心。可以这里查看他们完整的实施方案。 是否 Kubernetes 也帮助了你们的团队?欢迎同社区分享你们的故事。同时可以翻阅我们不断增加的用户场景分析,并从伟大的公司如 Box 学习如何在机构中采用 Kubernetes。 获取 Kubernetes 1.7 可以在 Github上下载。要开始上手Kubernetes,可以尝试使用互动式教程。 参与 欢迎参加本年12月6号至8号在Austin举办的CloudNativeCon 和 KubeCon,这将是有史以来最大的 Kubernetes 聚会。演讲提案直到8月21日前都是开放的,在10月6日前购票都有折扣。 参与最简单的方式是加入符合你兴趣的特别兴趣小组。是否有想同 Kubernetes 社区说的话?快来参加每周一次...阅读全文

博文 2021-01-28 17:50:35 debian.cn

2016年Linux领域的十条大新闻,你关注了吗?

。事实上,Linux出色的可靠性与灵活性使它成为关键性基础设施内不可或缺的核心要素。 那么究竟是什么神奇的力量让Linux这样一位“私生子”变成世界的主宰?根据VAR Guy网站的总结,Linux成功的原因包括开发方法、务实的意识形态、切实可行的内核设计以及庞大且活跃的Linux社区。 2. Fedora 25成为首款默认使用Wayland的Linux发行版 Fedora 25将Wyland作为它兼容机上的默认显示协议。为什么选择Wayland?Fedora开发者Matthias Clasen表示它能够实现客户端间彼此隔离、更适合现代显示系统(不包含不必要的核心字体或核心渲染等‘累赘’)且能够实现原有X系统无法实现的多种功能(例如输入转换以及在合并桌面与全屏客户端之间进行顺畅过渡...阅读全文

博文 2021-01-28 17:50:18 debian.cn

Git 介绍与使用详解

前言 Git是目前非常流行的协同开发工具,很多开源网站都使用Git作为代码管理仓库(例如 开源中国,GitHub),不管是开发还是产品、设计师,Git都很适合,而且很多IDE默认集成了Git,熟练的使用Git会起到事半功倍的效果,所以今天我为大家分享一下Git的介绍与使用。 1.Git是什么? Git是目前世界上最先进的版本控制系统(没有之一)。 1.1什么是版本控制? 版本控制是一种记录一个或若干文件内容变化,以便将来查阅特定版本修订情况的系统。如果你是位网页设计师,可能会需要保存某一幅图片或页面布局文件的所有修订版本。 有了它你就可以将某个文件回溯到之前的状态,甚至将整个项目都回退到过去某个时间点的状态,你也可以比较文件的变化细节,查出最后是谁修改了哪个地方,从而找出导致怪异问题...阅读全文

博文 2017-02-25 09:00:27 程序员

Kafka生产问题总结以及性能优化

消息发送端: 发送消息如果配置了重试机制,比如网络抖动时间过长导致发送端发送超时,实际broker可能已经接收到消息,但发送方会重新发送消息 消息消费端: 如果消费这边配置的是自动提交,刚拉取了一批数据处理了一部分,但还没来得及提交,服务挂了,下次重启又会拉取相同的一批数据重复处理 一般消费端都是要做消费幂等处理的,比如每条消息使用redis的setnx锁,把消息放redis里,这样两次消息一样的话,第二次的消息是放不进去的。 2.1.3 消息乱序 如果发送端配置了重试机制,kafka不会等之前那条消息完全发送成功才去发送下一条消息,这样可能会出现,发送了1,2,3条消息,第一条超时了,后面两条发送成功,再重试发送第1条消息,这时消息在broker端的顺序就是2,3,1了 所以,是否一...阅读全文

博文 2023-01-05 23:16:48 CSDN博客

Kafka 3.0新特性全面曝光,真香!

方便的查看数据。使用kafka-metadata-shell.sh脚本进入kafka的元数据客户端[hadoop@bigdata01 kafka_2.12-3.1.0]$ bin/kafka-metadata-shell.sh --snapshot /opt/install/kafka_2.12-3.1.0/topiclogs/__cluster_metadata-0/00000000000000000000.log四、Raft算法介绍raft算法中文版本翻译介绍:https://github.com/maemual/raft-zh_cn/blob/master/raft-zh_cn.md著名的CAP原则又称CAP定理的提出,真正奠基了系统的诞生,CAP定理指的是在一个系统中...阅读全文

博文 2022-04-28 16:02:11 mp.weixin.qq.com

深度解密基于 eBPF 的 Kubernetes 问题排查全景图

点:系统架构感知:系统架构图是程序员了解一个新系统的重要参考,当拿到一个系统,起码需要知晓流量入口在哪里,有哪些核心模块,依赖了哪些内部外部组件等。在异常定位过程中,有一张全局架构的图对异常定位进程有非常大推动作用。依赖分析:有一些问题是出现在下游依赖,如果这个依赖不是自己团队维护就会比较麻烦,当自己系统和下游系统没有足够的可观测性的时候就更麻烦了,这种情况下就很难跟依赖的维护者讲清楚问题。在我们的拓扑中,通过将黄金指标的上下游用调用关系连起来,形成了一张调用图。边作为依赖的可视化,能查看对应调用的黄金信号。有了黄金信号就能快速地分析下游依赖是否存在问题。​ Tracing 助力根因定位协议 Trace 同样是无入侵、语言无关的。如果请求内容中存在链路 TraceID,能自动识别...阅读全文

博文 2022-03-21 09:11:51 joseph

Ceph 12.2.0 正式版本发布, 代号 Luminous

Ceph 是一个可扩展的存储系统,性能卓越,安全可靠。 Ceph 12.2.0 正式版已发布。这是Luminous v12.2.x长期稳定版本的第一个版本。在Kraken(v11.2.z)和 Jewel(v10.2.z)后我们做了很多重大修改,而且升级过程并不简单哦。请仔细阅读版本说明。 在 Kraken(v11.2.z)版本上进行的重要修改 通用 Ceph现在有一个内置的简易DarshBoard,用于监控集群状态。 RADOS Bluestore ceph-osd的新后端存储BlueStore已经稳定,是新创建的OSD的默认设置。 BlueStore通过直接管理物理HDD或SSD而不使用诸如XFS的中间文件系统,来管理每个OSD存储的数据,这提供了更大的性能和功能...阅读全文

博文 2017-08-31 13:36:49 debian.cn

架构师详解 Nginx 架构

一个待处理事件的列表,使用非阻塞 I/O 方式调用“事件处理器”来处理该请求。其处理方式称为“多路 IO 复用方法”,常见的包括以下三种:select 模型、poll 模型、epoll 模型。 针对上面的技术我特意整理了一下,有很多技术不是靠几句话能讲清楚,所以干脆找朋友录制了一些视频,很多问题其实答案很简单,但是背后的思考和逻辑不简单,要做到知其然还要知其所以然。如果想学习Java工程化、高性能及、深入浅出。微服务、Spring,MyBatis,Netty源码分析的朋友可以加我的Java进阶群:433540541,群里有阿里大牛直播讲解技术,以及Java大型互联网技术的视频免费分享给大家。 四. Nginx 设计架构 Nginx 服务器使用 master/worker 多进程模式。多...阅读全文

博文 2018-05-01 23:10:47 debian.cn

字节跳动开源微服务中间件 CloudWeGo - OSCHINA

部依赖调整为开源库。 对于需要集成治理能力融入微服务体系的 Kitex,他们基于其扩展性,对内外部代码做了拆分,把 Kitex 的核心代码迁移到开源库,内部库封装一层壳保证内部用户无感知升级,而集成内部治理特性的模块则作为 Kitex 的扩展保留在内部库。字节跳动基础架构团队表示,未来也会持续把已经在内部经过稳定性验证的新特性,迁移到开源库。 谈到 CloudWeGo 的未来规划,字节跳动基础架构团队表示:“CloudWeGo 不仅仅是一个开源项目,它也是一个真实的超大规模企业级实践项目。通过开源,我们希望 CloudWeGo 能丰富云原生社区的 Golang 工具体系,为更多开发者和企业搭建云原生化的大规模系统,提供一种现代的、资源高效的的技术方案。” 未来他们会进一步推动...阅读全文

博文 2021-09-09 13:56:42 中文开源技术交流社区

Golang Context 探究

&valueCtx{parent, key, val} } // context.valueCtx 中存储的键值对与 context.valueCtx.Value 方法中传入的参数不匹配 // 就会从父上下文中查找该键对应的值直到在某个父上下文中返回 nil 或者查找到对应的值 func (c *valueCtx) Value(key interface{}) interface{} { if c.key == key { return c.val } return c.Context.Value(key) } 在 context 传递数据的场景一般很有限,比较常见的使用场景是传递请求对应用户 token 以及用于进行追踪的 trace id。不建议用来传递请求参数。 我用下面这种图来展示...阅读全文

博文 2021-02-25 09:27:27 lxkaka

案例:Redis命令不当 引起数据库雪崩 造成数百万损失

CPU,由于它是单线程作业所以很容易跑满一个逻辑CPU,可以使用redis代理或者是方案来提升redis的CPU使用率。 3.存储的Key一定要设置超时时间 如果应用将Redis定位为缓存Cache使用,对于存放的Key一定要设置超时时间!因为若不设置,这些Key会一直占用内存不释放,造成极大的浪费,而且随着时间的推移会导致内存占用越来越大,直到达到服务器内存上限!另外Key的超时长短要根据业务综合评估,而不是越长越好! 4.对于必须要存储的大文本数据一定要压缩后存储 对于大文本【+超过500字节】写入到Redis时,一定要压缩后存储!大文本数据存入Redis,除了带来极大的内存占用外,在访问量高时,很容易就会将网卡流量占满,进而造成整个服务器上的所有服务不可用,并引发雪崩效应,造成各个系...阅读全文

博文 2018-10-27 10:18:18 debian.cn

UCloud 叶理灯 谈:Docker、K8S 和 Serverless

前段时间,笔者参加了 UCloud 在京举办的 TIC 2019 大会,适逢 UCloud 实验室负责人叶理灯的演讲结束,就容器计算方面和他进行了短暂沟通。叶理灯是国内在云计算方面有深入研究和实践的资深专家,我觉得他的一些观点和看法值得分享给大家了解。 UCloud 实验室负责人 叶理灯 叶理灯现负责 UCloud 创新产品研发,专注面向企业的云计算产品的研发及运营。叶理灯拥有 10 年以上丰富的互联网研发经验,先后任职于腾讯、盛大云等互联网公司,从事海量后台系统研发及运营工作。 定制违背了 K8S 初衷,提供原生 K8S 产品 记者:在官方的 K8S 发行版之上,各方云厂商提供 K8S 服务时都有一些自己的定制和调整,今天大会上提及的 UCloud 的 K8S 发行版 UK8S 主...阅读全文

博文 2019-06-14 08:28:49 debian.cn

7大维度看国外企业为啥选择gRPC打造高性能微服务

标准外,还需要选择一个易于扩展的框架。随着微服务的发展,企业需要越来越多的“开箱即用”功能,发展的同时,为系统增加了更多的复杂性。因此企业希望的功能包括: 异常处理 - 在请求级别提供一个处理异常的机制。它允许捕获有关请求的重要上下文元数据,例如发出请求的用户,可以用例外报告。我们使用Bugsnag轻松地监视这些异常。 智能重试 - 在特定条件下重试请求,例如仅在5xx状态码上。这包括支持各种退避策略,如指数退避。 服务发现配置 - 将通信框架连接到流行的服务发现应用程序(如Zookeeper,Eureka或Consul)的选项可以提供一种快速简便的解决方案,以绕过企业的架构来请求路由。 度量、跟踪和日志记录 - 可观察性对于复杂的系统是必不可少的,但是应该小心监视的内容。在服务边界自...阅读全文

博文 2018-03-19 17:51:32 debian.cn