InfraPub 为您找到相关结果 90

百度运维工程师挖矿实录:四个月用155台服务器挖矿赚10万判3年

某最后一次部署挖矿脚本后,百度通过安全管理系统发现大量服务器运行异常,占用公司服务器的运算资源执行了挖矿程序,经过一番排查,最终确定了幕后的操盘手“安某”。 为此,百度还花费 2.7 万元请北京耐特网科技公司提供了应急服务,具体项目包括样本提取、样本分析、服务器日志提取并分析、追踪溯源、报告编写等。 2018 年 7 月,百度正式起诉“安某”,认为其犯有非法控制计算机信息系统罪。经法院的进一步核实,被告人“安某”虽对其行为性质提出辩解,但其到案后及在庭审过程中对其实施的作案过程均能如实交代,故应认定其具有如实供述的情节,同时结合其能退缴涉案违法所得,故可对其从轻处罚。 据此判决: 一、被告人安邦犯非法控制计算机信息系统罪,判处有期徒刑三年,罚金人民币一万一千元。 二、在案扣押的人民币十一...阅读全文

博文 2020-03-17 20:42:41 debian.cn

RabbitMQ 高可用实现镜像队列

于单点失效是有弹性的,但是同时也需要注意:尽管 exchange 和 binding 能够在单点失效问题上幸免于难,但是 queue 和其上持有的 message 却不行,这是因为 queue 及其内容仅仅存储于单个节点之上,所以一个节点的失效表现为其对应的 queue 不可用。 举例说明,如果一个 RMQ 集群由三个节点组成(RMQ集群节点的模式也是有讲究的,一般三个节点会有一个 RAM,两个 DISK),exchange、bindings 等元数据会在三个节点之间同步,但 queue 上的消息是不会同步的,且不特殊设置的情况下,Queue 只会在一个节点存在。 可能有的同学会提另一个问题,我从三个 RMQ 节点的面板,都可以看到这个 Queue?这个是对的,这是由于 Queue 的元...阅读全文

博文 2018-12-30 19:21:59 debian.cn

influxdb内存消耗分析及性能优化【探索篇】

1.新的问题influxdb目前支持内存型索引inmem及文件型索引tsi1。之前追踪篇将influxd索引修改为tsi1之后,经过一段时间的运行,从观察到,由于调用方采用异步队列+批处理的方案将数据写入influxdb,会在某些时刻调用方内部出现数据堆积,指标如图:横坐标: 时间轴,从12-29 00:00 到 12-30 00:00纵坐标: 队列中数据堆积长度,坐标最大值250k,即最大25w个数据堆积从上图可以看到,当天出现数次堆积,上午7:00-10:00尤为严重。在堆积时,登录influxdb服务器,查看机器状态如下:top - 09:40:58 up 120 days, 19:18, 1 user, load average: 32.29, 32.32, 29.82...阅读全文

博文 2021-10-27 16:06:30 知乎

CCPA vs. GDPR:欧美这两部个人数据保护法有什么差异?

(establishment)在欧盟境内,不论该数据处理的行为发生在境内或境外,该数据控制者或处理者及其欧盟境内的营业场所都将受到GDPR的约束——前提是该数据控制者或处理者与欧盟境内的营业场所之间存在“不可摆脱的联系”(inextricable link)。依据第29工作组(WP 29)的观点和欧盟法院判例,“财务上的联系、提供免费网络服务以换取用户会员费或用户订阅、利用用户数据盈利”,都可被认定存在‘不可摆脱的联系’。”[5] (3) 保护性管辖:无论数据控制者和处理者是否在欧盟境内有实体机构,也不论数据处理行为是否发生在欧盟境内,只要向欧盟数据主体提供产品或服务(无论该产品或服务是否需要支付对价)[6]或其行为[7],或只要处理或持有居住在欧盟的数据主体的数据的所有企业,都受GDPR的管辖。 (4) 根据国...阅读全文

Kubernetes 1.7 发布,安全强化、StatefulSet 更新及可扩展特性

-masquerade-agent)(RFC-1918),使用户可以在私有IP范围内创建集群并访问资源;服务可通过内部负载均衡(Internal Load Balancers)暴露,这是以Beta版提供的,允许Kubernetes和非Kubernetes服务在私有网络上相互访问(虽然当前通过Cloud VPN访问内部负载均衡的功能依然处于Alpha版);GKE现在支持在Alpha Clusters中运行NVIDIA K80 GPUs,该特性使得用户可以实验机器学习算法;自动修复,当前是Beta版。它通过对不健康节点进行主动,并在无需用户参与的情况下对节点做自动修复,保持了集群的健康运行;一些GCP优化的改进,用于简化集群从底层架构层上做自动扩展。 在Kubernetes博客及GitHub的...阅读全文

博文 2017-07-19 12:23:15 debian.cn

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

Spring Cloud:Eureka注册中心,Ribbon集成REST实现负载均衡,OpenFeign声明式服务调用,Hystrix实现服务限流熔断降级和数据,Zuul实现微服网关,Config分布式统一配置中心,分布式链路跟踪,集成Spring Cloud实现统一整合方案虚拟化容器Docker:Docker环境搭建和使用,搭建Docker私有仓库,Docker分布式集群部署,Kubernetes简介 4. 分布式 Java并发编程和网络编程:Java线程状态,线程池,线程通信,线程安全,Netty高性能原理分布式开发框架:分布式系统口调用技术:RPC,Apache分布式系统Zookeeper原理与应用,阿里Dubbo设计思想与应用分布式中间件:分布式服务器治理,分布式消息通信,分布式数据缓存...阅读全文

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

PostgreSQL 13 正式版发布

-ahead logs)之前将其删除,现在可在 PostgreSQL 13 中进行调整,以指定要保留的 WAL 文件的最大数量, 有助于避免磁盘空间不足错误。 PostgreSQL 13 还增加了更多让管理员可以数据库活动的方法,包括从 EXPLAIN 中查看 WAL 使用情况的统计信息、流式基础备份的进度,以及 ANALYZE 命令的进度。此外,可以使用新的 pg_verifybackup 命令验证 pg_basebackup 命令输出的完整性。 应用开发 PostgreSQL 13 对来自不同数据源的 PostgreSQL 数据类型进行了优化。此版本在其 SQL/JSON 路径支持中增加了datetime()函数,它可以将有效的时间格式(如 ISO 8601 字符串)转换为...阅读全文

博文 2020-10-04 20:07:23 debian.cn

bmon:一个强大的网络带宽监视和调试工具

(初学者说明:RX 表示每秒接收数据,TX 表示每秒发送数据): $ bmon bmon - Linux 带宽监视按 d 键可以查看更详细的带宽使用情况的图形化统计信息,参考下面的截图。 bmon - Detailed Bandwidth Statistics按 Shift + ? 可以查看快速指南。再次按 Shift + ? 可以退出(指南)界面。 bmon – 快速指南通过 Up 和 Down 箭头键可以查看特定网卡的统计信息。但是,要监视一个特定的网卡,你也可以像下面这样作为命令行参数指定。 选项 -p 指定了要显示的网卡,在下面的例子中,我们会监视网卡 enp1s0: $ bmon -p enp1s0 bmon – 以太网带宽要查看每秒位数而不是每秒字节数,可以像下面这样使用 -b...阅读全文

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

Memcache UDP反射放大攻击技术分析

60k 服务器可以被利用,并且这些服务器往往拥有较高的带宽资源。 基于以上特点,作者认为该攻击方式可以被利用来发起大规模的DDoS攻击,某些小型攻击团队也可能因此获得原先没有的大流量攻击能力。 在 DDoSMon 上观察到的现网趋势 自批露以来,我们就一直利用 DDoSMon 的统计页面 持续Memcache DRDoS在实际现网中的情况。在过去的几个月中,这种类型攻击的频率和单次破坏性都不大,但是自2018-02-24开始,这种情况发生了较大变化。 近期,Memcache DRDoS 的攻击频率上升到了平时的10+倍,从每天小于50件,上升到每天300~400件,直到今天的1484件(实际上,离今天结束还有1个小时),如下图所示。 需要指出,当前 Memcache DRDoS 仍然还不是...阅读全文

博文 2018-03-02 09:20:52 debian.cn

Stackstorm 入门介绍

一句话概况:stackstorm是一个事件驱动的自动化引擎。StackStorm 是一坨功能强大的开源自动化平台,可将通过使用插件封装API的方式,将所有应用程序,服务和工作流程连接起来。这里的所有包括了目前我们常用Gitlab、Zabbix、ELK、AWS 等服务。 Stackstorm 具有很好的可扩展性,灵活性,完美支持 ChatOps 和全操作的API实现。通过Stackstorm 可以将您现有的基础架构和应用程序环境联系在一起,以便您可以更轻松地自动化操作该环境。它特别专注于针对事件采取行动。 便利的故障排除 - 触发由Nagios,Sensu,New Relic和其他系统捕获的系统故障,在物理节点、OpenStack或Amazon实例和应用程序组件上运行一系列诊断检查,并将...阅读全文

说透IO多路复用模型_京东云开发者的博客

了解这三块内容,即:inode,链表,红黑树。 在linux内核中,针对当前打开的文件,有一个open file table,里面记录的是所有打开的文件描述符信息;同时也有一个inode table,里面则记录的是底层的文件描述符信息。这里假如文件描述符B fork了文件描述符A,虽然在open file table中,我们看新增了一个文件描述符B,但是实际上,在inode table中,A和B的底层是一模一样的。这里,将inode table中的内容理解为windows中的文件属性,会更加贴切和易懂。这样存储的好处就是,无论上层文件描述符怎么变化,由于epoll的数据永远是inode table的底层数据,那么我就可以一直能够到文件的各种变化信息,这也是epoll高效的基础。更多详...阅读全文

博文 2023-01-01 15:13:50 CSDN博客

本田 40GB 数据险遭泄漏 因云端数据库未设密

施: 服务器必须要有防火墙,不能随意对外开放端口;Elasticsearch 集群的端口包括 TCP 和 HTTP,都不能暴露在公网;Elasticsearch 集群禁用批量删除索引功能;Elasticsearch 中保存的数据要做基本的脱敏处理;加强和告警,在安全事件发生的第一时间感知并启动紧急预案,将损失降到最低。 除此之外,很多 Elasticsearch 均可公网访问,杨振涛表示很有可能是团队忽视了数据安全,再加上服务器防火墙对于端口开放策略过于激进,导致 Elasticsearch 集群只要一部署即可公网访问。 “公网访问对于有些业务来说是必要的,例如网站搜索服务。” Elastic 架构师吴斌解释道,“我们经常说‘Simple/less is more, but no...阅读全文

Kubernetes v1.21 新特性预览

IPv4 和 IPv6 两个地址。注意,如果使用了 CNI 插件和云服务商扩展(Cloud Provider),CNI 插件和云服务商扩展也需要支持 IPv4/IPv6 双栈。CSIVolumeHealth Alpha 和 CSIStorageCapacity Beta从 v1.21 开始,Kubernetes 支持 CSI 存储插件的 Volume 健康检查(Alpha 版),CSI 插件需要实现外部健康控制器。当 Volume 或者 Node 出现异常时,该控制器会向 Volume 所属的 PVC 以及使用该 PVC 的 Pod 发送一个异常事件。CSIStorageCapacity 用于跟踪 CSI 存储容量并确保 Pod 调度到足够存储容量的节点上。该特性从 v1.21 开始进入...阅读全文

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

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

CentOS 的构建和分发做出贡献。CERN 帮助 CentOS 提供基础架构,他们还组织了 CentOS DoJo 活动(LCTT 译者注:CentOS Dojo 是为期一日的活动,汇聚来自 CentOS 社群的人分享系统管理、最佳实践及新兴科技。),工程师可以汇聚在此共同改进 CentOS 的封装。除了 OpenStack 和 CentOS 之外,CERN 还是其他开源项目的深度用户,包括用于配置管理的 Puppet、用于的 Grafana 和 InfluxDB,等等。“我们与全球约 170 个实验室合作。因此,每当我们发现一个开源项目的改进之处,其他实验室便可以很容易地采纳使用。”Bell 说,“与此同时,我们也向其他项目学习。当像 eBay 和 Rackspace 这样大规模的装机量提高了...阅读全文

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

Apollo 分布式配置中心详解

。 版本发布管理 所有的配置发布都有版本概念,从而可以方便地支持配置的回滚。 灰度发布 支持配置的灰度发布,比如点了发布后,只对部分应用实例生效,等观察一段时间没问题后再推给所有应用实例。 权限管理、发布审核、操作审计 应用和配置的管理都有完善的权限管理机制,对配置的管理还分为了编辑和发布两个环节,从而减少人为的错误。所有的操作都有审计日志,可以方便的追踪问题。 客户端配置信息 可以在界面上方便地看到配置在被哪些实例使用。 部署简单 配置中心作为基础服务,可用性要求非常高,这就要求 Apollo 对外部依赖尽可能地少,目前唯一的外部依赖是 MySQL,所以部署简单,只要安装好 Java 和 MySQL 就可以让 Apollo 跑起来。 Apollo 配置中心适用范围 既然 Apollo 定位...阅读全文

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

深入学习golang — channel

channel。 func handle(queue chan *Request) { for req := range queue { result := do_something() req.resultChan <- result } } 6. 多个channel 在实际编程中,经常会遇到在一个goroutine中处理多个channel的情况。我们不可能阻塞在两个channel,这时就该select场了。与C语言中的select可以多个fd一样,go语言中select可以等待多个channel。 c1 := make(chan string) c2 := make(chan string) go func() { time.Sleep(time.Second * 1) c1 <- "one...阅读全文

博文 2021-01-25 12:39:17 博客园

细数k8s支持的4种类型的container - 侃豺小哥

提供关注点分离,并专注于特定功能,以减少意大利面条的依赖性和不可测的组件 对于Sidecar容器一般来说主要体现在以下4种角色: 代理。例如现在Istio中的Envoy。 通过这种Sidercar 模式,代理可以拦截进出主容器的流量从而Istio可以提取有关流量行为的大量信号作为属性。 Istio可以使用这些属性来执行策略决策,并将其发送到监视系统以提供有关整个网格行为的信息。 Sidecar代理模型还允许您将Istio功能添加到现有部署中,而无需重新构造或重写代码。 适配器。适配器容器对输出进行标准化。考虑监视N个不同应用程序的任务。可以使用不同的导出监视数据的方式来构建每个应用程序。 (例如JMX,StatsD,特定于应用程序的统计信息),但每个系统都希望其收集的数据具有一致且统...阅读全文

博文 2021-08-20 11:45:32 博客园

Golang 操作 Kafka 样例

)、consumer(消息消费者)都可以是分布式的。 在消息的生产时可以使用一个标识topic来区分,且可以进行分区;每一个分区都是一个顺序的、不可变的消息队列, 并且可以持续的添加。 同时为发布和订阅提供高吞吐量。据了解,Kafka每秒可以生产约25万消息(50 MB),每秒处理55万消息(110 MB)。 消息被处理的状态是在consumer端维护,而不是由server端维护。当失败时能自动平衡 1.1.3. 常用的场景 :主机通过Kafka发送与系统和应用程序健康相关的指标,然后这些信息会被收集和处理从而创建仪表盘并发送警告。 消息队列: 应用程度使用Kafka作为传统的消息系统实现标准的队列和消息的发布—订阅,例如搜索和内容提要(Content Feed)。比起大多数的消息系统来说,Kafka...阅读全文

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

谷歌公开了内部管理Infra层的两个工具的Paper

Annealing的插件,都是提供和任意基础架构集成的。Terraform的目标是更新生产状态去匹配用户提供的intent——这和Annealing一样。当然,它们也有一些主要的不同,比如: Annealing是为了持续执行而构建的。Annealing仅在安全的时候去应用更新过的配置,不需要人工交互。Annealing在应用变更后会服务健康情况。Terraform有统一的配置界面HCL。与之对比,Prodspec直接使用已有的配置资源。Prodspec强制密封性,允许生成配置数据,而无需访问其所描述的生产环境。配置数据可以跨版本进行比较,并由任何工具读取, 而不仅仅是驱动层。Prodspec是权威的,Annealing是为了能从生产中恢复状态而构建的。这避免了像Terraform这样需要一个状态文件,但...阅读全文

博文 2023-01-08 11:23:20 CSDN博客

最全的 DevOps 工具集合

就会使用管理员定义的策略。 Kubernetes 架构(灰色部分是容器,彩色部分是 pods),©GoogleInc. 和记录工具 和记录工具主要是为了在发生故障时快速响应,快速恢复,同时减少事故期间的人员参与。目前业内比较常用的和记录工具包括 ELK Stack、Datadog、New Relic、Prometheus、Zipkin 和 Azure Monitor。 ELK Stack ELK Stack 是三个开源产品的集合——它们分别是 Elasticsearch、Logstash 和 Kibana。它们都是由 Elastic 公司开发、管理和维护的。 E 代表 ElasticSearch,用于存储日志 L 代表 Logstash,用于传输、处理和存储日志 K 代表...阅读全文

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

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

基于thanos搭建分布式prometheus

: thanos receive组件需要部署N个进程组成集群,prometheus可以remote write写入数据到任意receive节点,收到写入请求的receive节点根据metrics label做哈希后计算出负责存储该部分数据的receive节点,并将数据转发过去; 同时,receive可以配置replica数量,这样的话receive会根据哈希结果将数据复制给多个receive做冗余,应该说是非常简单粗暴的复制方案吧,因为场景没那么严谨所以基本可用即可,查询去重和归拢则全部依靠querier组件反向查询所有Receive组件搞定。 我们的选择 让prometheus直接配置remote write的方式看起来更好一些,我们只需要在启动一套thanos receive集群,然后让...阅读全文

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

Docker 17.06 社区版发布

时一次的频次来安排证书轮换。有了Docker CE 17.06,添加了立即强制证书轮换的一次性操作: docker swarm ca --rotate Swarm Mode事件 docker events可以用来从Docker中获取实时的信息。在编写自动化和应用时很有用。但是直到Dcoker CE 17.06,都不支持swarm mode的事件。现在docker events将会返回服务、节点、网络和和secret的信息。 专用的数据路线 docker init中添加了新的--datapath-addr标签,可以把swarm mode的管理任务和应用传递的数据隔离开来。这能把集群从IO贪婪的应用中拯救出来。如你用这种方式初始化集群: docker swarm init...阅读全文

博文 2017-06-30 23:08:57 debian.cn

Golang Context 探究

{ p.children = make(map[canceler]struct{}) } // 与父 context 关联 p.children[child] = struct{}{} } p.mu.Unlock() } else { // 如果没有找到可取消的父 context,新启动一个协程父节点或子节点取消信号 atomic.AddInt32(&goroutines, +1) go func() { select { case <-parent.Done(): child.cancel(false, parent.Err()) case <-child.Done(): } }() } context.propagateCancel 的作用是把子 context 和父 context 关联起来,保证在...阅读全文

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

在TKE上使用Kubecost进行成本管理

() × a.MemTotalCost() - CPU 的成本效率:cpuCostEff = a.CPUEfficiency() × a.CPUTotalCost() - **总成本效率**:totalEff=(MemCostEff + cpuCostEff) / (a.CPUTotalCost() + a.MemTotalCost()) ### 优化建议 在判断哪些业务需要优化以及如何优化成本结构,可以先查找 TOP 10 的某种资源浪费,例如资源的 Usage 和 Request 差别较大,可以根据应用画像给出推荐的 Request,最后计算出每种资源可节省的成本。 ### 评估经济学边际成本 关于节点自动扩容部分,可以衡量一个集群中每个节点,假设 CPU 和 Mem 每增加 1C1G,最终成本达到多少,是否会出现规模...阅读全文

Spinnaker 介绍 – Netflix 的持续交付平台

Connect 项目,这个项目的边缘设备是地地道道的物理设备,并且从硬件到软件全部是自己定制的。关于 Open Connect 的详细介绍,以及使用的技术栈可以看 Netflix 的分享,还有他们如何做 CDN 的。 主要功能 回到 Spinnaker,他主要管理 Netflix 的云服务,并不管理 OpenConnect 相关的设备和服务。Spinnaker 是基于云的 CD 平台,提供快速、可靠、稳定的软件变更服务。主要包含两类功能:集群管理(Cluster management)和部署管理(deployment management)。 1. 集群管理 集群管理主要用于管理云资源,Spinnaker 所说的“云”可以理解成 AWS,即主要是 IaaS 的资源,比如 OpenStack...阅读全文

博文 2018-12-21 19:30:47 debian.cn

五款流行开源的 HIDS 系统简单介绍

Cygwin,而且一开始很难理解其报告。Samhain日志默认情况下位于/ var / log ,默认情况下用于XML编写(使用./configure –enable–xml-log 命令对其进行配置)。Samhain包括日志文件旋转和锁定功能。它有助于记录SQL数据库,控制台,电子邮件,系统日志,Prelude IDS等。5.安全洋葱Security Onion是由Doug Burks设计和维护的基于Linux的免费开源入侵检测系统。该项目由三个组件组成:完整的数据包捕获功能,将基于主机的事件与基于网络的事件相关联的入侵检测系统,以及许多其他工具集,包括Snort,Bro,Sguil,Suricata和许多其他实用程序。安全洋葱不只是入侵检测系统。归根结底,如果您想在几分钟之内轻松地建立网络安全...阅读全文

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

传输协议有 TTHeader、HTTP2。TTHeader 可以和 Thrift、Kitex Protobuf 结合使用;HTTP2 目前主要是结合 gRPC 协议使用,后续也会支持 Thrift。 多消息类型:支持 PingPong、Oneway、双向 Streaming。其中 Oneway 目前只对 Thrift 协议支持,双向 Streaming 只对 gRPC 支持,后续会考虑支持 Thrift 的双向 Streaming。 服务治理:支持服务注册/发现、负载均衡、熔断、限流、重试、、链路跟踪、日志、诊断等服务治理模块,大部分均已提供默认扩展,使用者可选择集成。 代码生成工具:Kitex 内置代码生成工具,可支持生成 Thrift、Protobuf 以及脚手架代码...阅读全文

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

下一代时间同步服务 Chrony 详解

Chrony 是一个多功能的 NTP (Network Time Protocol) 实现,类 Unix 系统上 NTP 客户端和服务器的替代品。它可以通过 NTP 服务或者类似 GPS 时钟接收器的硬件级参考时钟来同步系统时钟,具有更好的时钟准确度,并且对于那些间歇性互联网连接的系统很有帮助。Chrony 是免费开源的,并且支持 GNU/Linux 和 BSD 衍生版、Solaris 等。 Chrony 有两个核心程序:一个是 chronyd 守护进程,主要用于调整内核中运行的系统时间和时间服务器同步。它确定计算机增减时间的比率,并对此进行调整补偿。另一个是 chronyc,它提供一个用户界面,用于性能并进行多样化的配置。chronyc 可以在 chronyd 实例控制的计算机上工作...阅读全文

博文 2021-01-04 08:41:14 debian.cn

Redis 命令、特性介绍与性能调优

Redis的主从复制功能本身只是做数据同步,并不提供和自动failover能力,要通过主从复制功能来实现Redis的高可用,还需要引入一个组件:Redis Sentinel Redis Sentinel是Redis官方开发的组件,可以Redis实例的状态,通过Master节点自动发现Slave节点,并在监测到Master节点失效时选举出一个新的Master,并向所有Redis实例推送新的主从配置。 Redis Sentinel需要至少部署3个实例才能形成选举关系。 关键配置: sentinel monitor mymaster 127.0.0.1 6379 2 #Master实例的IP、端口,以及选举需要的赞成票数 sentinel down-after-milliseconds...阅读全文

博文 2018-10-27 10:37:55 debian.cn

三个技巧 大幅减少 Docker 镜像体积

因为如果攻击者利用你的应用程序获得对容器的访问权限将无法像访问 shell 那样造成太多破坏。换句话说,更少的二进制文件意味着更小的体积和更高的安全性,不过这是以痛苦的调试为代价的。 或许你不应在生产环境中 attach 和调试容器,而应该使用日志和。 但如果你确实需要调试,又想保持小体积该怎么办? 3. 小体积的 Alpine 基础镜像 你可以使用 Alpine 基础镜像替换 distroless 基础镜像。 Alpine Linux 是: 一个基于 musl libc 和 busybox 的面向安全的轻量级 Linux 发行版。 换句话说,它是一个体积更小也更安全的 Linux 发行版。不过你不应该理所当然地认为他们声称的就一定是事实,让我们来看看它的镜像是否更小。 先修改...阅读全文

博文 2018-09-06 10:50:29 debian.cn

阿里巴巴版 JDK 首发 GA 版 生产环境可用

11 时使用 ElasticHeap GC 压力自适应堆调整的应用的图: 1. 图中上半部分为 CPU 使用率,下半部分为物理内存使用率2. 双 11 整点当服务流量进来时(traffic peak starts),CPU 使用率大幅提升3. 同时开启 ElasticHeap 堆内存自适应调整时,会配合 GC 压力增大快速回涨堆内存;流量退去 CPU 利用率变小后,GC 压力变小后,迅速的归还物理内存4. 本例中,低流量时归还物理内存约 20-30%...阅读全文

博文 2019-07-11 10:24:52 debian.cn

分布式运行时 Dapr 知多少

了答案。 从单机到分布式,是追求更快和更高的性能,但也带来了更多的不确定性。比如,不确定计算机何时异常,不确定磁盘何时损坏,不确定网络通信的延迟,也不确定消息是否被正常消费。这些不确定性构成了分布式应用的挑战,简而言之: 异构的机器与网络:稳定性问题普遍的节点故障:可靠性问题不可靠的网络:一致性问题 面对这些挑战,业界提出了诸多的分布式理论、协议,如CAP定理,BASE理论,一致性协议2PC/3PC/ZAB,来保证系统的正常运行。虽然问题貌似是有了解决方案,但是应用的复杂度升高了。应用除了需要实现业务需求,还要兼顾非业务需求,集成诸如服务发现、负载均衡、失效转移、动态扩容、数据分片、调用链路等分布式系统的核心功能,对应用有很强的侵入性,这就是以Spring Cloud为代表的微服务框架的...阅读全文

译:零信任对 Kubernetes 意味着什么

Foundation 毕业的服务网格项目,它提供了一个以简单性为目标和重点的实现,直接从 Kubernetes ServiceAccounts 提取工作负载标识来达到“零配置”,默认开启双向 TLS。同样,Linkerd 的基于 Rust 的微代理提供了一个极简的零信任实现。当然,仅仅在集群中添加一个服务网格并不是万能的。安装后,必须完成定义、更新和评估授权策略的工作。集群运维人员必须小心确保所有新创建的 pod 都与它们的 sidecar 组件配对。当然,服务网格本身必须像集群上的任何软件一样进行维护、和迭代。然而,不管是不是灵丹妙药,服务网格确实提供了从集群中默认的未加密、未经身份验证的流量转变为具有强大工作负载身份和丰富授权系统的默认加密、经过身份验证的流量——这是朝着零信任迈出的一大步。总结零信任...阅读全文

Cortex: 高可用和水平扩展Prometheus监控系统

Prometheus已成为cloud-native世界中的默认应用程序和系统。对于真是使用案例,Prometheus应该是高可用的,这是有挑战的。一旦在高可用性模式下运行Prometheus,就会遇到很多问题,例如数据重复,为重复数据实现single pane等。为了解决此问题,Cortex诞生了。Cortex是一个CNCF sandbox project,旨在为使用Prometheus 收集的指标提供长期存储和全局指标视图。首先让我们看一下Cortex的主要目标,然后看一下它为Prometheus解决的一些问题。水平可伸缩性– Cortex可以分成多个微服务,每个微服务都可以独立地水平伸缩。例如,如果许多Prometheus实例正在向Cortex发送数据,则可以扩展Ingester微...阅读全文

博文 2021-10-09 17:00:22 知乎

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

gRPC是一个高性能、开源、通用的RPC框架,面向移动和HTTP/2设计,是由谷歌发布的首款基于Protocol Buffers的RPC框架。 gRPC基于HTTP/2标准设计,带来诸如双向流、流控、头部压缩、单TCP连接上的多复用请求等特性。这些特性使得其在移动设备上表现更好,更省电且节省空间占用。gRPC 1.0版本是2015年面世以后的第一次版本发布,开发者可以把该版本用于生产。API现在也是很稳定的。 Bugsnag(注:一家云端bug服务商)每天处理数以亿计的错误信息,为了处理这些数据,考虑优先构建一个可扩展,性能强大的后端系统,并从中学到很多有挑战性的技术。最近,我们推出了新版本的仪表板,这个项目要求扩展系统,来处理服务呼叫的显著增加,这些呼叫是跟踪用户发布和会话所需的...阅读全文

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

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

火焰图来看。如果代码没有问题,那么可能执行代码的环境是有问题的,这时可以查看系统的 CPU/Memory 等资源是否有问题来做进一步排查。​下面举个 SQL 慢查询的例子(如下图)。在这个例子中网关调用 product 服务,product 服务依赖了 MySQL 服务,逐步查看链路上的黄金指标,最终发现 product 执行了一条特别复杂的 SQL,关联了多张表,导致 MySQL 服务响应慢。MySQL 协议基于 TCP 之上的,我们的 eBPF 探针识别到 MySQL 协议后,组装、还原了 MySQL 协议内容,任何语言执行的 SQL 语句都能采集到。​第二个例子是应用本身慢的例子,这时候自然会问具体哪一步、哪个函数造成了慢,ARMS 应用支持的火焰图通过对 CPU 耗时定期采样(如...阅读全文

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

Apollo 配置中心简单介绍

盖配置修改实时生效(热发布) 用户在Apollo修改完配置并发布后,客户端能实时(1秒)接收到最新的配置,并通知到应用程序版本发布管理 所有的配置发布都有版本概念,从而可以方便地支持配置的回滚灰度发布 支持配置的灰度发布,比如点了发布后,只对部分应用实例生效,等观察一段时间没问题后再推给所有应用实例权限管理、发布审核、操作审计 应用和配置的管理都有完善的权限管理机制,对配置的管理还分为了编辑和发布两个环节,从而减少人为的错误。所有的操作都有审计日志,可以方便的追踪问题客户端配置信息 可以在界面上方便地看到配置在被哪些实例使用提供Java和.Net原生客户端 提供了Java和.Net的原生客户端,方便应用集成支持Spring Placeholder, Annotation和Spring...阅读全文

博文 2021-04-09 17:53:51 CSDN

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

储系统. HDFS 使用多台计算机存储文件,并且提供统一的访问接口,像是访问一个普通文件系统一样使用分布式文件系统。 HDFS文件系统 2. HDFS架构 HDFS架构 HDFS是一个主/从(Mater/Slave)体系结构,由三部分组成: NameNode 和 DataNode 以及 SecondaryNamenode: NameNode 负责管理整个文件系统的元数据,以及每一个路径(文件)所对应的数据块信息。 DataNode 负责管理用户的文件数据块,每一个数据块都可以在多个 DataNode 上存储多个副本,默认为3个。 Secondary NameNode 用来 HDFS 状态的辅助后台程序,每隔一段时间获取 HDFS 元数据的快照。最主要作用是辅助 NameNode 管理元数...阅读全文