• 博客(88)
  • 收藏
  • 关注

原创 PostgreSQL基于Patroni方案的高可用启动流程分析

在很多生产环境中,分布式数据库以高可用性、数据分布性、负载均衡等特性,被用户广泛应用。而作为高可用数据库的解决方案——Patroni,是专门为PostgreSQL数据库设计的,一款以Python语言实现的高可用架构模板。该架构模板,旨在通过外部共享存储软件(kubernetes、etcd、etcd3、zookeeper、aws等),实现 PostgreSQL 集群的自动故障恢复、自动故障转移、自动备份等能力。

2023-10-31 17:12:47 269

原创 PostgreSQL基于Patroni方案的高可用启动流程分析

什么是Patroni在很多生产环境中,分布式数据库以高可用性、数据分布性、负载均衡等特性,被用户广泛应用。而作为高可用数据库的解决方案——Patroni,是专门为PostgreSQL数据库设计的,一款以Python语言实现的高可用架构模板。该架构模板,旨在通过外部共享存储软件(kubernetes、etcd、etcd3、zookeeper、aws等),实现 PostgreSQL 集群的自动故障恢复、自动故障转移、自动备份等能力。

2023-10-27 15:58:20 778

原创 关于MYSQL引擎在物理层面存储那些事

innodb 是 MySQL 主要的存储引擎, innodb 包含缓存页、事务系统和存储系统。本篇文章主要涉及最底层的物理存储进行分析,讲解了表空间的概念、数据字典、借助工具从用户表空间读取数据和观察索引的数据结构。这个主要针对 MySQL5.7.40, 具体版本差异可能略微有不一致的地方。在讲述前,我们先创建一个测试表和测试库。use test;然后尝试插入若干条数据。...InnoDB是MySQL的一种存储引擎,它采用了B+树作为存储和索引的数据结构。

2023-08-11 11:33:32 161

原创 WebAssembly:让Istio变得更强大

目前,Wasm仍在快速发展,相关的特性在Istio和Envoy中还处在alpha阶段。同时,Istio提供的API使Wasm成为了服务网格中的“一等公民”,用户可以方便地将Wasm下发到指定的工作负载,该过程是完全动态的,应用无需重启。上图展示了一个最基本的WasmPlugin配置,在配置中用户需要指定Wasm模块的url,该url可以是像容器镜像一样的OCI格式的Wasm,也可以是代理本地的一个文件(通常要求用户手动挂载到容器中),或者是http协议的url,用于直接获取远程Wasm模块文件。

2023-07-03 11:21:32 608

原创 什么是WebAssembly及其必要性

*WebAssembly(Wasm)是一种可移植的字节码格式,本身为了解决日益复杂的前端 Web 应用以及有限的JavaScript 脚本解释性能而诞生的技术,通过该技术可以使用非JavaScript 编程语言编写代码并且能在浏览器上运行。随着Wasm的发展,现在Wasm不仅仅可以用于浏览器,同样可以被应用在server-side程序中,它已经被定义为一个可移植、体积小、加载快的一种通用二进制格式。

2023-07-03 11:12:39 451

原创 什么是KubeEdge?

Kubernetes(K8s)是一款由谷歌开源的容器集群管理系统。它基于容器技术,为容器化的应用提供部署运行、资源调度、服务发现和动态伸缩等一系列功能。KubeEdge做的是基于k8s构建,并将容器化的应用编排和设备管理扩展到端上的主机。它由云端和边缘端组成,为网络、应用的部署以及云和边缘之间的元数据同步提供架构支持。KubeEdge理论上还是k8s的一个插件,它完成了k8s没有完成的事情,就是连接边缘、设备与云。

2023-07-02 22:44:16 1395

原创 基于eBPF技术的云原生可观测实践

我们知道操作系统分为用户空间和内核空间,内核是操作系统的核心,它独立于常规的应用程序,可以访问受保护的内存空间,也有访问底层硬件设备的所有权限。为了保证内核的安全,现在的操作系统一般都强制用户进程不能直接操作内核。而应用程序通常是在用户空间中运行,每当这些应用程序想要以任何方式与硬件交互时,都必须向内核发出请求来获得访问权限,同时,内核还负责调度各个应用程序,以确保多个进程同时运行。

2023-07-02 22:37:02 793

原创 浅谈kubernetes存储—glusterfs故障排查

heketi-cli响应手动尝试建盘,观察是否成功、观察heketi日志heketi-cli --user admin --secret admin@123 volume create --size=1 --gluster-volume-options='user.heketi.arbiter true’手动建盘失败,某个少见的坑点heketi-cli 响应 Error: log size 4085 blocks too small, minimum size is 4608 blocks。

2023-06-30 10:50:03 257

原创 Istio与Mcp Server服务器讲解与搭建演示

我们只需要编写一个独立的服务,该服务从第三方法服务注册表中获取服务和服务实例数据,然后转换为 Istio 的 ServiceEntry 和 WorkloadEntry 资源,通过 Kubernetes API Server 的接口写入到 API Server 中。pilot接受到数据后,会对比内存中的数据,保证数据一致。istio1.9 不再支持MCP的方式对接外部注册中心,改为 MCP-over-XDS的方式:新的方式虽然叫mcp over xds,但本质上没有使用之前的mcp协议。

2023-06-30 10:48:49 500

原创 浅入浅出 iptables 网络隔离原理

Network Layer 网络层的数据流向,与数据链路层不同的是使用ip路由寻址的方式寻找网卡。IP-per-Pod,每个 Pod 都拥有一个独立 IP 地址,Pod 内所有容器共享一个网络命名空间。REJECT:拒绝数据包通过,必要时会给数据发送端一个响应的信息,客户端刚请求就会收到拒绝的信息。ChainName:别的链路名称,在iptables中通过链路的调用构建庞大的链路体系。集群内所有 Pod 都在一个直接连通的扁平网络中,可通过 IP 直接访问。容器自己看到的 IP 跟其他容器看到的一样。

2023-06-05 14:15:58 645

原创 KubeEdge节点分组特性简介

WorkloadScope中存放的是节点组的差异化配置信息,可以为特定节点组设置Overrider。NodeGroup会选取节点组成节点组,主要有两种选取方式:节点名和标签。当更新EdgeApplication时,其创建的子资源会被自动更新,同时兼容Deployment的滚动更新策略,在同节点组的Pod实例间进行滚动更新。当新接入的节点拥有满足条件的标签时,会被自动地放入相应节点组中。当删除节点组时,节点组中节点上的belonging-to标签会被自动删除,即节点组中的节点会自动退出节点组。

2023-05-10 14:39:34 625 1

原创 智慧网点解决方案 | 助推银行“营销-销售-服务”一体化建设

支持Atlas系列、Nvidia系列等多种类型的边缘节点接入,提供算力下沉、海康、大华等多种协议摄像头接入、部分实时性要求高的场景数据就近处理,其他实时性要求不高的场景数据云上处理等能力。网络带宽压力减小相比传统云端集中处理方案,带宽较少90%时效性增强传统云端集中处理方案时效性至少是分钟级别,现在缩短到秒级降低云端处理压力传统云端集中处理方案,云端处理压力大,成本高,现在云端处理压力较少80+%。

2023-04-12 11:23:31 707

原创 金融信创优秀解决方案名单权威发布,信创PaaS云平台实力入选

集中了弹性计算、分布式部署/存储、软件自定义网络(SDN)、镜像层级安全扫描和图形化云运维UI等核心云端技术,具有高度松耦合、自治理能力

2023-03-27 17:32:02 742

原创 基于容器管理+全链路监控平台,为某综合性证券公司业务加速

以容器云+微服务+DevOps赋能业务交付,实现高资源利用率和运维效率,APM 应用监控平台提供链路闭环与细化分析。

2023-03-23 11:26:58 348

原创 云原生应用你应该这么管- 谐云发布基于KubeVela增强的应用版本管理和在线升级

在应用运维时,应用的版本控制是用户非常关心的问题,KubeVela 社区中提供了 ApplicationRevision 资源进行版本管理,该资源在用户每次修改 Application 时将产生新的版本,记录用户的修改,实现用户对每次修改的审计和回滚。

2023-01-30 10:17:58 281

原创 应用现代化方案实践,重塑企业应用价值—工业篇

应用现代化是指通过更现代和新兴的IT技术来改造或部署传统应用,从而使应用更适合企业发展的一种优化方式。在企业上云背景下,应用现代化改造是将遗留的传统应用改造升级到云计算环境,从而兼容更现代和新兴的计算技术的过程。这种改造升级的同时为企业带来了更好的敏捷性、效率和速度。对于为什么要做应用现代化改造?应用现代化改造能带来什么收益以及如何进行应用现代化改造等等,本文将详细分享谐云在应用现代化改造上的建设和实践,欢迎大家共同探讨与交流。01为什么要做应用现代化改造在云原生时代,应用迭代的时效性将构成企业强有力的竞

2022-12-02 10:17:48 317

原创 浅谈能源行业应用现代化改造及实践

基于能力交付中心、工业应用底座、油田业务数据湖提供的数据资源、应用开发交付能力,以分公司业务组件开发技术标准,构建分公司统一的业务组件生态中心,实现数据资源到业务组件的生态化设计。整个落地实践过程可以分为平台建设、规范梳理,试点服务改造验证,规模化推广等几个阶段,应用通过容器化、微服务化和组件化等技术理念作为基础架构,从底层基础设施到系统架构,再到顶层应用规范开发,到应用运行监控,进行全生命周期的应用现代化改造升级,打破多专业、多单位、多对象的信息壁垒,真正实现了“业务、管理、信息”三位一体。

2022-10-27 14:44:54 538

原创 谐云课堂 | 一文详解分布式改造理论与实战

简单来说,微服务是很小的服务,一个服务可能负责几个功能或者一个业务,是一种面向SOA架构的,服务之间也是通过RPC来交互或者是webservice来交互的,这个服务可以单独部署运行,每个微服务都是由独立的小团队开发,测试,部署,上线,负责它的整个生命周期。相比单机过程调用,网络通信最让人头疼的是超时:节点 A 向节点 B 发出请求,在约定的时间内没有收到节点 B 的响应,那么 B 是否处理了请求,这个是不确定的,这个不确定会带来诸多问题,最简单的,是否要重试请求,节点 B 会不会多次处理同一个请求。

2022-10-20 16:01:24 535

原创 详解Istio服务治理技术及环境搭建

3 异构系统的统一治理。各个微服务治理架构中的各个中间件也不停的升级迭代,在微服务架构中,每个微服务的开发和维护工作分为了不通的团队进行,如果企业内部不制定相关的版本使用规范,久而久之,很容易导致各个不同服务使用的中间价或治理组件的版本不统一、能力参差不齐,很难统一治理。对于这些传统微服务框架而言,想要使用某些功能,就需要集成相关的SDK,这不仅需要在项目中添加相关的依赖,可能还需要对业务代码进行一些改造,在其中增加治理相关的代码或者配置等,那么这样业务层就与治理层耦合严重。

2022-09-14 11:38:28 698

原创 详解Istio服务治理技术及环境搭建

异构系统的统一治理。各个微服务治理架构中的各个中间件也不停的升级迭代,在微服务架构中,每个微服务的开发和维护工作分为了不通的团队进行,如果企业内部不制定相关的版本使用规范,久而久之,很容易导致各个不同服务使用的中间价或治理组件的版本不统一、能力参差不齐,很难统一治理。对于这些传统微服务框架而言,想要使用某些功能,就需要集成相关的SDK,这不仅需要在项目中添加相关的依赖,可能还需要对业务代码进行一些改造,在其中增加治理相关的代码或者配置等,那么这样业务层就与治理层耦合严重。

2022-09-06 15:52:39 635

原创 浅谈软件供应链安全治理与DevSecOps落地实践

Java 作为国内目前应用最广泛的语言,在 2021 年仍保持着强大的竞争力,仓库数量在极高存量的情况下仍有不错的增长态势,使用 Java 的仓库数量占比超越了 2020 年的 37%,此外js代码仓库数量超越了2020年的43%而在开源软件漏洞方面,整体呈增长趋势,2020 年增长率略有下降。比如在一个商业软件的依赖成分组成中,至少包含33%的开源组件,90%以上的开源代码,67%的代码库包含某种形式的开源代码许可证冲突,33%的代码库包含没有可识别许可证的开源组件。那么,软件供应链安全要关注哪些方向?.

2022-08-29 14:44:20 1316

原创 码住!SpringCloud Gateway企业级网关详解及实践分享

其次对于路由列表我们增加来按照路由路径进行分组,往往不同路径代表着不同的微服务,路由是路由中最具有区分力的元素,通过按路径分组,可以进一步大大提升查询路由的效率。弹性架构:针对网关broker数据面进行组织分化形成共享微服务网关、专有微服务网关、特性微服务网关,实现企业级业务系统的网关集中化管理,实现网关分布式化,避免单点故障,又满足不同业务系统不同路由策略、协议、业务流量情况的需求,同时以特性微服务网关来提供对nginx、kong、envoy的适配。

2022-08-19 17:05:14 888

原创 领航先锋案例!DevOps重塑研发运维体系,共筑XOps新蓝图

为某电力系统客户打造的「企业级BizDevOps研发管理平台」荣获“业务价值领航先锋案例”

2022-08-04 14:05:35 253

原创 Docker背后的标准化容器执行引擎——runC

runC就是Docker贡献出来的,按照该开放容器格式标准(OCF,OpenContainerFormat)制定的一种具体实现。在接下来的容器系列文章中,将从架构和源码层面详细解读这个开源项目的设计思想和实现原理,敬请关注。...

2022-07-26 17:30:23 882

原创 Docker如何进行实践应用?

谈到容器经常会谈起微服务,这是因为容器技术轻量级的特性和“构建一次,到处运行”的特性降低了微服务型应用的额外开销(overhead),提升了微服务式的应用开发流程效率,使得微服务的开发模式成为可能6。看来,使用Docker时需要关注容器本身,时刻提醒自己我是在使用容器,从而享受它带来的种种便利,比如快速的应用分发能力、高效的操作及反应能力、弹性灵活的部署能力以及低廉的部署成本;1)彼此独立微服务模式下的每一个组成部分,都是一个独立的服务,有一整套完整的运行机制以及标准化的对外接口。...

2022-07-26 17:23:47 353

原创 HC Bridge:基于L2模式的开源容器网络

当前数字化建设进入深水区,企业面临数字化转型所带来的新挑战。外围环境加速变化,竞争逐渐激烈,企业需要以大量的创新与实践为引导来实现自身的变化与转型。那么,如何能够更好地把握外部机遇以及应对机遇带来的不确定风险,重要的途径就是通过企业内部敏捷来助力外部的成功。DevOps就是为解决企业敏捷问题的一种新型方式方法,是企业为适应当前数字化发展形势做出的有效尝试。DevOps是强调产品管理、软件开发和运营专业人员之间沟通和协作的软件开发过程,可通过自动化工具实现软件集成、测试、部署和基础设施变更。...

2022-07-26 17:19:07 210

原创 基于开源工具链快速实现DevOps能力之《DevOps概念定义篇》

当前数字化建设进入深水区,企业面临数字化转型所带来的新挑战。外围环境加速变化,竞争逐渐激烈,企业需要以大量的创新与实践为引导来实现自身的变化与转型。那么,如何能够更好地把握外部机遇以及应对机遇带来的不确定风险,重要的途径就是通过企业内部敏捷来助力外部的成功。DevOps就是为解决企业敏捷问题的一种新型方式方法,是企业为适应当前数字化发展形势做出的有效尝试。DevOps是强调产品管理、软件开发和运营专业人员之间沟通和协作的软件开发过程,可通过自动化工具实现软件集成、测试、部署和基础设施变更。...

2022-07-26 17:18:13 175

原创 初始基于K8s的虚拟化技术Kube-virt

kubevirt以CRD形式将VM管理接口接入到kubernetes,通过一个pod去使用libvirtd管理VM方式,实现pod与VM的一对一对应,做到如同容器一般去管理虚拟机,并且做到与容器一样的资源管理、调度规划,这个整体与企业Iaas关系不大,也方便企业接入。...

2022-07-26 17:17:33 1523

原创 AIOps指标异常检测之无监督算法

随着系统规模的变大、复杂度的提高、监控覆盖的完善,监控数据量越来越大,运维人员无法从海量监控数据中发现质量问题。智能化的异常检测就是要通过AI算法,自动、实时、准确地从监控数据中发现异常,为后续的诊断、自愈提供基础。...

2022-07-26 17:16:51 986

原创 Kafka重复消费场景及解决方案

在消费过程中消费者单次会拉取11条消息,每条消息耗时30s,11条消息耗时5分钟30秒,由于max.poll.interval.ms默认值5分钟,所以理论上消费者无法在5分钟内消费完,consumer会离开组,导致rebalance。

2022-07-26 17:16:07 6716

原创 后Kubernetes时代,每个行业需要定制化的符合自身的云原生战略

云原生行业符合金融、通信、能源等行业的云原生战略除了微服务、devops、容器以外,为了能够管好容器云、用好容器云,云原生版图里面还应该包含云原生可观测性和云原生安全。

2022-07-26 17:14:55 220

原创 virtlet是什么?virtlet如何管理虚拟机?

容器技术为应用程序提供了隔离的运行空间,每个容器内都包含一个独享的完整用户环境空间,容器内的变动不会影响其他容器的运行环境。

2022-07-26 17:13:14 229

原创 后Kubernetes时代的虚拟机管理技术之Virtual-Kubelet篇

Virtual-Kubelet在虚拟机调度和操作方面可以复用Kubernetes原生的资源对象,但Pod在Kubelet管理下的生命周期仅存在创建、运行和销毁,实际对于虚拟机的开关机、备份和迁移等操作无法实现映射关系,因此对于复杂的生命周期管理,需要通过自定义CRD方式支持不同类型的IaaS平台,每一个VM-CR对应一个IaaS层VM实例。在引入Virtual-Kubelet的情况下,需要对Virtual-Kubelet节点配置Taint和Tolerations,保证容器-Pod和VM-Pod调度分离。.

2022-07-26 17:07:09 345

原创 后Kubernetes时代的虚拟机管理技术之kubevirt篇

在每个virt-launcherpod中还对应着一个libvirtd,virt-launcher通过libvirtd去管理VM的生命周期,这样做到去中心化,不再是以前的虚拟机那套做法,一个libvirtd去管理多个VM。

2022-07-26 17:06:30 578

原创 云原生多云容器编排平台karmada上手指南

karmada-apiservercontext对应的控制面运行在karmada-systemnamespace中,是karmada控制面,也就是karmadareadme中提到的host集群。7)部署完成后,形成kubeconfig文件$HOME/kube/karmada.config,包含karmada-host和karmada-apiserver两个context,分别对应支撑karmada控制面运行的host集群,以及karmada控制面本身。...

2022-07-26 17:04:21 417

原创 边缘计算KubeEdge基础框架与实践

•Trans_observer扩展事务执行•Server_state_observer扩展服务状态•Binlog_storage_observerbinlog存储•Binlog_transmit_observerbinlogdump•Binlog_relay_IO_observer扩展中继日志我们针对Binlog_relay_IO_observer接口进行了扩展,实现了数据回收的能力。提供备份的pre-hook以及post-hook,可以用于MYSQL的备份锁、数据刷盘等策略。...

2022-07-26 17:01:31 898

原创 谐云课堂 | 云原生MYSQL数据库架构分享

•Trans_observer扩展事务执行•Server_state_observer扩展服务状态•Binlog_storage_observerbinlog存储•Binlog_transmit_observerbinlogdump•Binlog_relay_IO_observer扩展中继日志我们针对Binlog_relay_IO_observer接口进行了扩展,实现了数据回收的能力。提供备份的pre-hook以及post-hook,可以用于MYSQL的备份锁、数据刷盘等策略。...

2022-07-26 16:59:48 224 1

原创 「电力行业」告别传统运维,拥抱全链路“云上监控”

将采集的原始数据经过数据聚合分析、业务应用调用关系关联、业务数据集成等处理,提供多维度的智能分析与高度可视化界面,实现电力云上业务全链路监控、资源容量精细化管理和业务系统健康度分析。...

2022-07-26 16:57:40 166

原创 「石油化工行业」数字化转型如何赋能生产管控?-上篇

在信息化管理模式的转型过程中,应用运行环境从虚拟机升级为容器,应用架构升级为微服务工业组件架构,由基础底座统一提供公共服务,通过低代码平台拼装工业app等措施,以云平台承载业务,以工业互联网架构开发应用,重点打造了研究设计、工程管理、气田生产、综合管理四大业务域的协同智能应用,支撑天然气勘探开发场景下的业务协同以及业务智能,为整个公司的生产运行管理提供快捷高效的互联网工作支持。并将中台做厚提升共享支持能力,前台做薄加速业务场景化及创新能力,技术平台做实降低成本,实现敏捷的交付能力,保障业务高稳定性。...

2022-07-26 16:54:56 286

原创 谐云魏欢:浅谈云原生边缘计算框架演进

这里可以举个设备状态管理的例子,我们可以在云端实现对边缘设备的远程控制,即在云端etcd中改变这个设备的状态,然后依靠这套框架将云端定义的设备状态同步到边缘,反过来也可以在边缘本地改变这个设备的状态,然后同步到云端。第一个案例其实前面已经讲过,18-19年,也正是KubeEdge刚开源的时候,我们是为一个移动的在线公司,在基于谐云自主可控的容器云底座的基础上,打造了一个从云到边的云边协同平台,目前这套平台正在支撑着他们全国的几十个分公司的小边缘数据中心。前文提到了应用的例子,这里再举一个边缘设备的例子。..

2022-07-26 16:37:33 577

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除