主页

使用Python SDK访问华为云ROMA MQS

背景 ROMA是新一代企业集成平台,其中的消息集成服务MQS使用Kafka队列实现。本样例介绍如何使用ROMA服务中的MQS收发消息。 安装 Kafka Python SDK 使用原生的 Python SDK confluent-kafka-python ,执行 pip install confluent-kafka 完成安装。 当前只支持1.x版本的SDK,不支持0.x以及2.x版本的SDK。

阅读更多

Redis跨云迁移实践

背景 Redis是使用最广泛的缓存数据库,各家公有云厂商都有提供Redis服务,虽然都是Redis服务,但是不同云厂商的架构与性能规格都有差异,在跨云迁移的时候,需要谨慎评估,避免迁移后出现性能问题。 前提条件 本文的对比都是基于Proxy模式的Redis集群的,当前主流的Redis集群是Proxy模式;Redis原生集群对开发者来说,比使用Proxy模式集群要更复杂,提供的云厂家也相对较少,因此还是起步阶段。

阅读更多

使用云厂商托管K8S时容器域名解析注意事项

云厂商托管 Kubernetes 服务的 Pod 域名解析注意事项 使用云厂家提供托管式Kubernetes,Pod的域名解析参数,通过界面创建Pod的话,可能厂商界面没有开放dnsConfig配置,采用了一些默认值,在使用时候,需要了解清楚厂商提供的默认配置,否则会存在问题。 典型的一个配置是 ndots ,如果你在Pod内访问的域名字符串,点 数量在 ndots 阈值范围内,则被认为是Kubernetes集群内部域名,会被追加 **..svc.cluster.local** 后缀,这样会导致每次解析域名时候有2次(IP4/IP6)无效解析,在大规模并发场景下存在性能瓶颈。 云厂商一般将Kubernetes的DNS服务(CoreDNS或SkyDNS)与厂商提供的外部DNS级联了,因...

阅读更多

在容器内获取Pod或Container属性

在容器内获取Pod或Container属性 容器内的应用程序有获取容器定义元数据的需求,如容器名称,容器IP地址,容器资源配额等,这些信息在容器调用系统K8S中都存在。在早期的K8S中是不暴露的应用使用的,随着客户诉求的增多,K8S开放了这些信息给应用程序。 通过环境变量将Pod信息呈现给容器

阅读更多

SDK与ServiceMesh微服务框架融合

现状与挑战 自从Netflix在AWS上实践PaaS平台的经验被推广后,同时借助开源出来的SpringCloud微服务框架,微服务领域一直是Java语言+Java SDK模式占统治地位。 经过这么些年的发展,微服务架构思想已经深入影响了各行各业架构师的架构选型,在技术架构选型的备选中,微服务通常是第一个考虑的。SDK模式的微服务架构已经被广泛应用于生产系统。

阅读更多

多款开源产品发起闭源行动

开源模式 到目前为止,开源模式是一种成功的商业模式,通过软件代码开源,免费做推广,然后收企业服务费用。 随着公有云的兴起,云厂家基于开源产品提供软硬件一体化服务(PaaS或SaaS),以软件服务方式带动硬件资源销售。

阅读更多

应用运维假想场景与辅助系统

运维人员假想的工作场景 维人员希望提前发现系统潜在问题,发现并定位潜在问题的步骤通常为: 判断系统可能会有问题需要运维提前介入处理 a. 运维系统没法自动决策判断是否有问题,需要运维人员根据经验判断 b. 运维人员希望有指标维度的监控面板:如cpu指标,列出当前所有节点的平均cpu,列出top 5 cpu,点进去可以查看所有节点cpu占用详情

阅读更多

K8S ELB Service 中创建 负载均衡 服务

场景 Service发布到负载均衡是最常用的功能,当前云服务商提供的负载均衡并未与K8S Service关联,但是当负载均衡对象不存在的时候,需要手动创建Service。 实现 阿里云 在K8S Service 通过注解定义负载均衡,负载均衡的生命周期与K8S Service 绑定。 annotations: service.beta.kubernetes.io/alicloud-loadbalancer-spec: slb.s2.small service.beta.kubernetes.io/alicloud-loadbalancer-address-type: internet service.beta.kubernetes.io/alicloud-load...

阅读更多