InfraPub 为您找到相关结果 17

分布式任务调度平台 XXL

版本,如:CodeMirror、Echarts、Jquery 等; 13、项目依赖升级 groovy 至较新稳定版本; pom 清理; 14、子任务失败逻辑优化,子任务失败时将会按照其预设的失败次数主动进行 XXL-JOB 特性 1、简单:支持通过 Web 页面对任务进行 CRUD 操作,操作简单,一分钟上手; 2、动态:支持动态修改任务状态、启动 /停止任务,以及终止运行中任务,即时生效; 3、调度中心 HA(中心式):调度采用中心式设计,“ 调度中心” 基于集群 Quartz 实现并支持集群部署,可保证调度中心 HA ; 4、执行器 HA(分布式):任务分布式执行,任务” 执行器” 支持集群部署,可保证任务执行 HA ; 5、注册中心: 执行器会周...阅读全文

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

Debian 安装 fail2ban 方式SSH爆破攻击

= 127.0.0.1/8 #IP白名单bantime = 600 #封禁时间秒,默认是10分钟maxretry = 3 #最大次数,子项未设置时以此为准 SSH 区段如下: [ssh]enabled = true #启用开关port = ssh #保护端口,默认SSH为22filter = sshd #默认即可logpath = /var/log/auth.log #日志位置,默认即可maxretry = 6 #最大次数 如果调整了 fail2ban 的配置,需要重启服务生效,通用的方法都支持, /etc/init.d/fail2ban restart#或者用 systemctlsystemctl restart fail2ban fail2ban 的管理维护,可以通过以下命令操作, fail2ban...阅读全文

博文 2019-03-27 16:45:58 debian.cn

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

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

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

Kong 1.3 发布:原生 gRPC 代理、上游 TLS 交叉认证

Kong 1.3 发布了,此版本亮点包括支持原生 gRPC 代理、上游 TLS 交叉认证,以及一系列新功能和性能改进。 原生 gRPC 代理 越来越多的用户转向微服务架构,并且希望有对原生 gRPC 代理的支持,Kong 1.3 解决了这个问题,为支持 gRPC 的基础架构带来更多可控性和可见性。路由和服务条目的协议属性现在可以设置为 grpc 或 grpcs,这对应于通过明文 HTTP/2(h2c)的 gRPC 和通过 TLS HTTP/2(h2)的 gRPC。 这一功能的关键优势在于: 简化运作流程。为用户的 gRPC 服务添加 A/B 测试、自动和断路保护,以提高系统可靠性。更具观察性。为 gRPC 服务增强日志记录、分析与 Prometheus 集成。 上游 TLS 交叉认证...阅读全文

博文 2019-08-22 14:54:57 debian.cn

K8S中Pod的四个阶段及状态分析

EventType = "ERROR" PodStatus 有一组 PodConditions。 PodCondition 中的 ConditionStatus,它代表了当前 pod 是否处于某一个阶段(PodScheduled,Ready,Initialized,Unschedulable),true 表示处于,false 表示不处于。 Pod 的详细状态有这些, CrashLoopBackOff: 容器退出,kubelet正在将它重启InvalidImageName: 无法解析镜像名称ImageInspectError: 无法校验镜像ErrImageNeverPull: 策略禁止拉取镜像ImagePullBackOff: 正在拉取RegistryUnavailable: 连接不到镜像中心...阅读全文

博文 2020-07-15 13:11:45 debian.cn

分布式 NewSQL 数据库 TiDB

view 时报错的问题 #15867修复 fast analyze handle 列时 panic 的问题 #16080修复 current_role 输出结果字符集不正确的问题 #16084完善 MySQL 连接握手错误相关日志 #15799修复加载审计插件后端口探测活动导致 panic 的问题 #16065修复因 TypeNull 类被错误识别为变长类型,导致 left join 上的 sort 算子 panic 的问题 #15739修复监控 session 错误计数不准确的问题 #16120修复在 ALLOW_INVALID_DATES 模式下,weekday 结果出错的问题 #16171修复在集群中存在 TiFlash 节点时,GC 可能不能正常工作的问题 #15761修复创建...阅读全文

博文 2020-04-18 22:05:02 3.1.0 发布

Gitlab CI 配置文件 .gitlab

: variables: GET_SOURCES_ATTEMPTS: 3 你可以在全局variables模块中设置,也可以在单个job的variables模块中设置。 Shallow cloning GitLab 8.9 以实验性功能引入。在将来的版本中有可能改变或者完全移除。 你可以通过GIT_DEPTH来指定抓取或克隆的深度。它可浅层的克隆仓库,这可以显著加速具有大量提交和旧的大型二进制文件的仓库的克隆。这个设置的值会传递给git fetch和git clone。 注意:如果设置depth=1,并且有一个jobs队列或者是jobs,则jobs可能会失败。 由于Git抓取和克隆是基于一个REF,例如分支的名称,所以Runner不能指定克隆一个commit SHA。如果队列中有多个jobs,或者您正在旧...阅读全文

博文 2018-12-12 21:09:02 ci.yaml 详解(下)

Apollo 配置中心简单介绍

Admin Service提供配置的修改、发布等功能,服务对象是Apollo Portal(管理界面)Config Service和Admin Service都是多实例、无状态部署,所以需要将自己注册到Eureka中并保持心跳在Eureka之上我们架了一层Meta Server用于封装Eureka的服务发现接口Client通过域名访问Meta Server获取Config Service服务列表(IP+Port),而后直接通过IP+Port访问服务,同时在Client侧会做load balance、错误Portal通过域名访问Meta Server获取Admin Service服务列表(IP+Port),而后直接通过IP+Port访问服务,同时在Portal侧会做load balance、错误...阅读全文

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

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

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

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

字节跳动开源微服务中间件 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 中文开源技术交流社区

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

作为一条心得日志添加到日志文件中,然后并行发起RPC给其他的服务器,让他们复制这条信息到自己的日志文件中保存。如果这条日志被成功复制,也就是大部分的follower都保存好了执行指令日志,leader就应用这条日志到自己的状态机中,并返回给客户端。如果follower宕机或者运行缓慢或者数据丢失,leader会不断地进行,直至所有在线的follower都成功复制了所有的日志条目。与维护Consumer offset的方式类似,脱离ZK之后的Kafka集群将元数据视为日志,保存在一个内置的Topic中,且该Topic只有一个Partition。元数据日志的消息格式与普通消息没有太大不同,但必须携带Leader的纪元值(即之前的Controller epoch):Record...阅读全文

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

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

服务化项目服务不可用几十分钟,造成订单数减少几十万笔,损失百万资金。 原因分析 当时是没有定位到具体的原因的,但是下面的原因也是一部分可能引起宕机的情况。 某服务化项目的业务增速非常快,在高峰期,数据库QPS突破35000,系统处于高负荷状态。 在高峰期如果同时执行几个全表扫描的SQL,会造成数据库压力急剧上升,应用超时增多,前端应用超时,用户,流量飙升,形成了雪崩效应。 主要原因在与一些老项目的SQL查询性能较差,并且使用的主库,对数据库影响较大。数据库QPS太高,但是缓存方案因为人手原因一直没有落地,慢SQL的问题处理优先级应该提升。 改进方案 针对每个应用建一个数据库账号,严格按照规范使用 缓存优化方案即时落地,慢SQL问题优先处理,集中处理目前已经发现的慢SQL(查询时间超过1S...阅读全文

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

分布式运行时 Dapr 知多少

制以完成诸如服务发现、流量控制、熔断、安全访问等,而这相关的网络控制功能就是集成在Dapr的Sidecar中,以对应用透明的方式集成进来的。整体的服务调用流程如下图所示: PS:如果对Istio熟悉的同学需要注意,二者虽然都是通过Sidecar的模式进行网络控制,但二者是有有区别的。Dapr是以API的方式,而Istio是以代理的方式(不改变HTTP请求URI)。 2. State management(状态管理) 在进行微服务开发时,绕不开的话题就是服务间的状态共享、并发一致性问题。对于状态共享,你可能会说,各个服务连接到同一个Redis实例就OK了。是,但不得不考虑潜在的更新冲突的问题。Dapr 以更友好的HTTP API的方式进行状态的存储和读取,同时支持通过ETags进行并发控制...阅读全文

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

询时必须提供相同的值。在下面的例子中,这个headers是使用nginx反向代理设置的。架构图Cortex架构(源)Nginx/gateway–一个位于cortex前面的反向代理,将收到的所有请求转发给相应的服务。分发服务器Distributor–处理传入的指标,将其拆分为多个批次,然后将其传递给Ingesters。如果复制因子replication factor设置为> 1,则数据将发送到多个实例。接收器Ingester–此服务负责将数据写入已配置的存储后端。Ingester是半状态的,因为它们保留了最后12个小时的样本。这些样本将被批处理并压缩,然后再写入块存储。查询前端Query Frontend–一个可选组件,用于对查询请求进行排队,并在失败时它们。结果也被缓存以提高性能查询器...阅读全文

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

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

础上的系统与人类处理异常情况的系统之间的需求存在未被承认的差距。即使在计划转向Annealing时,也很容易丢失运维人员手动执行的许多决策。 虽然有时这种差距不是问题,但当难以自动执行直观的手动步骤时,它可能会成为一个障碍。失败的推送是不可见决策的典型示例。工作流系统很少自动重新运行特定步骤,通常会人工处理——估计失败的推送是否是暂时的,以及重新尝试推送是否合理。持续执行可能比人工更正确。但是,持续执行也会使这些决策更为频繁,并且可能更难调试。这意味着,为了获得良好的最终用户体验,自动化必须比人工好一个数量级。 — 12 — 下一步 如今,基于intent的配置和持续执行现在已经在Google里被广泛接受和使用。随着我们从挑战和成功中不断进步,基于intent的actuation的方...阅读全文

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

HTTP状态码详解

Advanced Collections 草案中定义,但是未出现在《WebDAV 顺序集协议》(RFC 3658)中。 426 客户端应当切换到TLS/1.0。(RFC 2817) 449 由微软扩展,代表请求应当在执行完适当的操作后进行。 5xx 服务器错误 这类状态码代表了服务器在处理请求的过程中有错误或者异常状态发生,也有可能是服务器意识到以当前的软硬件资源无法完成对请求的处理。除非这是一个HEAD 请求,否则服务器应当包含一个解释当前错误状态以及这个状况是临时的还是永久的解释信息实体。浏览器应当向用户展示任何在当前响应中被包含的实体。 这些状态码适用于任何响应方法。 500 服务器遇到了一个未曾预料的状况,导致了它无法完成对请求的处理。一般来说,这个问题都会在服务器的程序码出错时出现。 501...阅读全文

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

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

PodFailed,并且将该 Pod 从该节点上驱逐出去。例如当你创建一个 Job 时,如果 Pod 失败的时间超过了 spec.activeDeadlineSeconds 设置的值,就会将 Pod 从该节点驱逐出去。 接下来,Pod 的 Phase 值由 init 容器 和应用容器的状态共同来决定。因为目前容器还没有启动,容器被视为处于等待阶段,如果 Pod 中至少有一个容器处于等待阶段,则其 Phase 值为 Pending。 最后,Pod 的 Condition 字段由 Pod 内所有容器的状态决定。现在我们的容器还没有被容器运行时创建,所以 PodReady 的状态被设置为 False。可以通过 kubectl 查看: $ kubectl get -o go-template...阅读全文

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