InfraPub 为您找到相关结果 124

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

解释,否则错误很容易产生,事情很容易被拖延。 以下是在选择框架时的一些设计考虑因素: 强类型 - 消息是否是强类型的?如果通过服务边界发送的消息清晰可见,那么可以消除由于类型而造成的设计和运行时错误。 打开解释 - 能够直接从服务API规范生成客户端库,减少了误解的问题。错误条件 - 有一套明确定义的错误代码可以更容易一致地交流问题。 - 服务API应该是易读易懂的。定义服务API的格式应该尽可能清楚,准确地描述端点。 版本控制 - 更改是不可避免的,这是一个很好的选择,在某些时候,服务API将需要修改。所使用的消息传递格式和服务定义可以影响修改API并将其部署到生产的容易程度。是否有明确的路径来增加版本及其相应的库,并推出更改? 微服务最佳实践,为什么可扩展性是重要的 除了上面列出的...阅读全文

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

Linux下多线程程序为什么消耗大量虚拟内存

) 查看内存情况,如下: 请注意65404这一行,种种迹象表明,这个再加上它上面那一行(在这里是132)就是增加的那个64M)。后来增加thread的数量,就会有新增thread数量相应的65404的内存块。 刨根问底 经过一番google和代码查看。终于知道了原来是glibc的malloc在这里捣鬼。glibc 版本大于2.11的都会有这个问题:在Redhat 的官方上: Red Hat Enterprise Linux 6 features version 2.11 of glibc, providing many features and enhancements, including… An enhanced dynamic memory allocation (malloc...阅读全文

博文 2015-01-28 10:35:39 debian.cn

Docker 17.06 社区版发布

EBS)的支持现在是稳定的了)。并且我们能跨可用区支持EBS卷。 对于Docker for Azure来说,我们现在支持部署到Azure Gov,通过Cloustor支持持久性卷现在是稳定的,可以通缉你广化寺用在Azure Public和Azure Gov中。 废弃 在dockerd的命令行中,--api-enable-core标识已经被废弃很久了,而采用--api-cors-header。对于--api-enable-cors还没有完全去掉。 Ubuntu 12.04 "precise pangolin"已经完结了生命周期,所以它现在不是Docker支持的操作系统。Ubuntu的后期版本仍旧是支持的。 下一步 要体验这些新特性: 下载Docker CE的最新版 查看Docker 在Play...阅读全文

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

Debian 9.3上安装和配置 Observium 监控平台

once every 2 hours 完成后保存并关闭文件,然后重新启动cron服务以应用此更改: systemctl restart cron 结论 恭喜! 您已经在Debian 9服务器上成功安装了Observium。 您现在可以轻松获得网络的状态和健康状况。 您可以检查Observium官方页面以获取有关配置设备,警报和身份验证模块的更多信息。【本文转载自 Howtoing.com,略有增删】...阅读全文

博文 2017-12-30 11:35:21 debian.cn

分布式任务调度平台 XXL

等; 29、全异步:任务调度流程全异步化设计实现,如异步调度、异步运行、异步回调等,有效对密集调度进行流量削峰,理论上支持任意时长任务的运行; 30、跨平台:原生提供通用 HTTP 任务 Handler(Bean 任务,”HttpJobHandler”);业务方只需要提供 HTTP 链接即可,不限制语言、平台; 31、国际化:调度中心支持国际化设置,提供中文、英文两种可选语言,默认为中文; 32、容器化:提供官方 docker 镜像,并实时更新推送 dockerhub,进一步实现产品开箱即用; 参考链接: 中文 社区交流...阅读全文

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

Kubernetes 部署 Nacos 1.4 集群 · 小豆丁

!版权声明:本博客内容均均为原创,每篇博文作为知识积累,写博不易,转载请注明出处。 目录[-] 参考地址: Nacos 官方 系统环境: Nacos 版本:1.4.1 Mysql 版本:8.0.19 Kubernetes 版本:1.20.1 项目示例地址: Kubernetes 中部署 Nacos 的部署文件 Kubernetes 中部署 Mysql 数据库部署文件 如果该文章对你有帮助,别忘了 Github 帮忙点颗星哦~ 一、什么是 Nacos Nacos 是阿里开源的服务注册中心与配置中心组件,能够帮助开发人员快速实现动态服务发现、服务配置、服务元数据及流量管理。同时能够与 SpringCloud、Kubernetes、Dubbo 等开源生态无缝集成。 Nacos 支持如下核心特...阅读全文

博文 2021-02-24 10:10:29 www.mydlq.club

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

的资源。例如,如果您的集群的利用率仅为25%,以资源的最大使用量和 Request 来衡量,则 Allocate idle costs 会按比例增加每个 pod/NS/Deployment 的成本到原来的4倍。 6. **图表选择**: 切换到条形图视图以查看所选窗口的汇总成本,或切换到时间序列视图以查看成本随时间的变化。 7. **附加选项**: 查看其他选项以将成本数据导出为 CSV 或查看帮助。 ### Assets ![img](https://main.qcloudimg.com/raw/275c22510f157d3b3710aa147eb2f69f.png) Kubecost Assets 视图显示了按集群中单个资源细分的 Kubernetes 集群成本(例如,按节点、磁盘...阅读全文

Linux系统诊断-内存基础

的文件,大多反馈系统信息的实时情况(进程、内存、cpu、设备信息等)。结论: /proc/meminfo 是 /proc 文件系统下保存你内存相关信息的"伪文件"。2.2 命令输出简介每个发行版输出都有一定差异,我们以debian8 4.19.x发行版为例。root@4f996feeb851:~# free -m total used free shared buffers cached Mem: 1991 1909 81 4 155 836 -/+ buffers/cache: 917 1073 Swap: 1023 1 1022大部分的命令输出意思,大家可以在man中找到解析,这里不做赘述。used: 已使用的内存 used = total - free -buffers...阅读全文

博文 2021-02-11 14:22:42 SegmentFault 思否

kubectl 创建 Pod 背后到底发生了什么?—探寻 Kubectl 创建 Pod 的原理

deployments,而背后的复杂性被隐藏在简单的抽象中。但为了充分理解它为我们提供的价值,我们需要理解它的内部原理。 本指南将引导您理解从 client 到 Kubelet 的请求的完整生命周期,必要时会通过源代码来说明背后发生了什么。 这是一份可以在线修改的,如果你发现有什么可以改进或重写的,欢迎提供帮助! 1. kubectl 验证和生成器 当敲下回车键以后,kubectl 首先会执行一些客户端验证操作,以确保不合法的请求(例如,创建不支持的资源或使用格式错误的镜像名称)将会快速失败,也不会发送给 kube-apiserver。通过减少不必要的负载来提高系统性能。 验证通过之后, kubectl 开始将发送给 kube-apiserver 的 HTTP 请求进行封装。kube-apiserver 与...阅读全文

博文 2022-04-18 16:18:04 CSDN

Web前端知识体系精简

)、绝对定位(absolute)、固定定位(fixed),relative和absolute在移动端用的最多,fixed 在移动端有兼容性问题,因此不推荐使用,在移动端替代fixed的方案是 absolute+内部滚动。 3、浮动 float 设置float为left或right,就能使该元素脱离流,向左或向右浮动。一般在做宫格模式布局时会用到,如果子元素全部设置为浮动,则父元素是塌陷的,这时就需要清除浮动,清除浮动的方法也很多,常用的方法是在元素末尾加空元素设置clear:both, 更高级一点的就给父容器设置before/after来模拟一个空元素,还可以直接设置overflow:auto/hidden。除过浮动可以实现宫格模式,行内盒子(inline-block)和table也可以...阅读全文

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

Gitlab CI 配置文件 .gitlab

/gitlab-ce 上面这个例子将会为所有的分支执行job,但master分支除外。 Job variables 在job中是可以使用关键字variables来定义job变量。它的运行原理跟global-level是一样的,但是它允许设置特殊的job变量。 当设置了job级别的关键字variables,它会覆盖全局YAML和预定义中的job变量。想要关闭全局变量可以在job中设置一个空数组: job_name: variables: [] Job变量的优先级关系可查看variables说明。 tags tags可以从允许运行此项目的所有Runners中选择特定的Runners来执行jobs。 在注册Runner的过程中,我们可以设置Runner的标签,比如ruby,postgres...阅读全文

博文 2018-12-12 21:01:19 ci.yaml 详解(上)

我要彻底放弃 Debian 操作系统!-Michael Stapelberg

,包括大型软件工程项目的工作原理,而且我也明白自己多么地喜欢我的计算机系统。我非常清楚这些日子以来的闲暇时间我是如何度过的。 我会在以下各小节中逐一介绍我所面临的主要困难,讨论顺序不分先后。其中有些困难有一些相互影响——例如,如果改动后的效果更好,那么我们就有机会将包转换成更方便的机器读取。 Debian的变更流程 最近几年,我目前的团队在整个代码库中进行了各种大大小小的重构(涉及数千个项目),因此在关于如何有效地进行这些变更方面,我们学到了很多宝贵的经验。令我苦恼的是,Debian在各方面的工作方式几乎完全相反。我理解每个组织都不同,但我认为我的很多观点确实适用于Debian。 在Debian中,包的推送必须严格遵守一个——叫做Debian策略,还有个程序lintian用来保证该策略的实...阅读全文

博文 2019-03-22 17:01:23 Michael Stapelberg

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

截止目前k8s1.18,k8s已经支持标准容器,sidecar容器,init 容器,ephemeral 容器 4种类型的containers。本文我们详细介绍一下这4种容器的特性已经使用场景。 Ephemeral 容器 临时容器与其他容器的不同之处在于,它们缺少对资源或执行的保证,并且永远不会自动重启,因此不适用于构建应用程序。临时容器使用与常规容器相同的 ContainerSpec 段进行描述,但许多字段是不相容且不允许的。 临时容器没有端口配置,因此像 ports,livenessProbe,readinessProbe 这样的字段是不允许的。 Pod 资源分配是不可变的,因此 resources 配置是不允许的。 有关允许字段的完整列表,请参见临时容器参考。 临时容器是使用...阅读全文

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

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

指标: 完成后,运行以下命令进行清理docker-compose -f docker-demo/docker-compose.yaml down 在Kubernetes中部署Cortex以及Prometheus的依赖如架构所示,我们将Cortex部署为一组微服务。我们还需要Helm来部署依赖项(Cassandra)和其他服务(Grafana,Prometheus)。如果尚未安装Helm,则可以按照Helm中的快速入门指南进行操作。让我们开始吧,首先我们将部署cortex组件。kubectl apply -f k8s/ 我们还将使用Helm安装Prometheus。下面的命令将为我们完成这两项工作:创建一个名为" cluster"的外部标签,并将该标签的值设置为"one"。这将有助于分离不...阅读全文

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

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

1636706889 11155879367 #other_node较高 #numactl --show 用于查看当前numa策略 > numactl --show policy: default #使用默认策略(localalloc) preferred node: current physcpubind: 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 cpubind: 0 1 nodebind: 0 1 membind: 0 1通过查询,发现当前的numa策略会出现大量的miss。由于influxdb基于go语言开发,go语言社区中有关于 numa 感知调度的设计,但是本身的实...阅读全文

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

译:Kubernetes 最佳实践

统中不同组件的交互方式。K8s 官方中推荐的 Pod 标签包括名称、实例、版本、组件、部分和管理者。标签也可以以类似于在云环境中对资源使用标签的方式使用,以跟踪与业务相关的事物,例如对象所有权和对象应属于的环境。此外,还建议使用标签来详细说明安全要求,包括机密性和合规性。使用网络策略应该使用网络策略来限制 K8s 集群中对象之间的流量。默认情况下,所有容器都可以在网络中相互通信,如果恶意行为者获得对容器的访问权限,从而允许他们遍历集群中的对象,这会带来安全风险。网络策略可以在 IP 和端口级别控制流量,类似于云平台中的安全组的概念,以限制对资源的访问。通常,默认情况下应拒绝所有流量,然后应制定允许规则以允许所需流量。使用防火墙除了使用网络策略来限制 K8s 集群上的内部流量外,还应该在...阅读全文

博文 2022-09-13 19:32:21 atbug.com

Debian 9 使用kubeadm创建 k8s 集群(下)

Kubernetes对象的关系。 豆荚在Kubernetes中无处不在,因此了解它们将有助于您的工作。部署概述 - 提供部署概述 。 了解部署控制器如何工作非常有用,因为它们在无状态应用程序中经常用于扩展和不健康应用程序的自动修复。服务概述 - 涵盖服务,Kubernetes集群中另一个常用对象。 了解服务类型及其选项对于运行无状态和有状态应用程序至关重要。 您可以研究的其他重要概念是Volumes , Ingresses和Secrets ,所有这些在部署生产应用程序时都会派上用场。 Kubernetes提供了许多功能和特性。 Kubernetes官方是了解概念,查找特定于任务的指南以及查找各种对象的API参考的最佳位置。...阅读全文

博文 2019-05-13 22:57:41 debian.cn

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

性。Kafka要实现类似Rocketmq的分布式事务需要额外开发功能。 kafka的事务处理可以参考官方: Properties props = new Properties(); props.put("bootstrap.servers", "localhost:9092"); props.put("transactional.id", "my-transactional-id"); Producer producer = new KafkaProducer<>(props, new StringSerializer(), new StringSerializer()); //初始化事务 producer.initTransactions(); try...阅读全文

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

Monit:开源服务器监控工具

Monit是一个跨平台的用来监控Unix/linux系统(比如Linux、BSD、OSX、Solaris)的工具。Monit特别易于安装,而且非常轻量级(只有500KB大小),并且不依赖任何第三方程序、插件或者库。 Monit可以监控服务器进程状态、HTTP/TCP状态码、服务器资源变化、文件系统变动等等,根据这些变化,可以设定邮件报警、重启进程或服务。易于安装、轻量级的实现以及强大的功能,让Monit成为一个理想的后备监控工具。 官网:https://mmonit.com/monit:https://mmonit.com/monit/documentation/monit.html最新版本:https://mmonit.com/monit/dist/monit-5.20.0...阅读全文

博文 2023-04-12 15:21:43 阿里云开发者社区

最全的 DevOps 工具集合

Subversion 是一个软件版本和修订控制系统,其根据 Apache 许可开源。软件开发人员可使用 Subversion 来维护源代码、网页和等文件的当前和历史版本。 构建工具 构建阶段主要是为了保持打包的一致性,自动执行容易出错的活动,生成早期质量信号。目前业内比较常用的构建工具包括 Maven/Gradle、MSBuild、Rake、JFrog Artifactory、Sonatype Nexus 和 NuGet。 Maven/Gradle Maven 是主要用于 Java 项目的自动化构建工具。Maven 还可以构建和管理以 C#、Ruby、Scala 等语言编写的项目。 Gradle 是一个开源的自动化构建系统,其基于 Apache Ant 和 Apache Maven 的理念,并引入了基于...阅读全文

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

HAProxy用法详解 最详细中文文档

器时的目标端口,其为可选项;未设定时,将使用客户端请求时的同一相端口; [param*]:为此服务器设定的一系参数;其可用的参数非常多,具体请参考官方中的说明,下面仅说明几个常用的参数; 服务器或默认服务器参数: backup:设定为备用服务器,仅在负载均衡场景中的其它server均不可用于启用此server; check:启动对此server执行健康状态检查,其可以借助于额外的其它参数完成更精细的设定,如: inter :设定健康状态检查的时间间隔,单位为毫秒,默认为2000;也可以使用fastinter和downinter来根据服务器端状态优化此时间延迟; rise :设定健康状态检查中,某离线的server从离线状态转换至正常状态需要成功检查的次数...阅读全文

博文 2014-05-10 17:14:46 debian.cn

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

Annealing来强制执行它们。虽然这种方法最初成本很高,但很快就能得到回报。 我们还发现Prodspec的扩展建模特别有助于turnup。turnup的传统方案是和自定义工作流。这些工作流会不可避免地出错,因此使用它们需要很多人工处理。 广泛持续的执行在很大程度上消除了这个问题。由于服务的所有基础架构方面都是被持续评估的,因此问题会立即出现,而不仅仅是在下次执行turnup工作流时才被发现。 持续执行由这两层驱动: 执行层,由Enforcer驱动,推动Prodspec的intent变更到生产环境策略层,由Strategist驱动,通过变更intent来计划执行 如果可能,我们更喜欢在 Enforcer 级别表达执行逻辑和约束,这是无状态层,更容易理解和操作。但是,这种方法并不总是可行或可取的...阅读全文

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