Calico-ipip模式和calico-bgp模式都有对应的局限性,对于一些主机跨子网而又无法使网络设备使用BGP的场景可以使用cross-subnet模式,实现同子网机器使用calico-BGP模式,跨子网机器使用calico-ipip模式。 ...
本文分享自华为云社区《有些事你只有抓包才知道之mysql tls会话》,作者:张俭。 你的mysql客户端和服务端之间开启tls了吗?你的回答可能是No,我根本没开启mysql的tls。 可是当你抓取了3306 mysql的端口之后,你会发现,抓出来的包里居然有Client Hello、Server ...
静态分析工具的建设和评估,一直是一件让人头痛的问题。试图通过三组测试用例集,来寻找如何建立更高效和全面的评估用例集的方法。 ...
本文分享自华为云社区《Pulsar消息积压topic级别策略老化的两种方案》,作者: 张俭。 Pulsar像大多数消息中间件一样,支持按时间和大小对消息积压进行老化。但是默认的策略只能在namespace级别配置。本文将介绍如何在topic级别实现老化策略的两种方案。 方案一:开启 TopicLev ...
本文分享自华为云社区《nginx-ingress工作原理以及多nginx-ingress部署注意事项》,作者: 可以交个朋友。 一、nginx-ingress工作原理 nginx-ingress对应的容器中有两个核心组件:nginx-ingress-controller和nginx。其中nginx- ...
本文分享自华为云社区《提升网络协议服务器的定位能力》,作者:张俭。 近期,我再次涉足于协议服务器相关的工作领域,致力于定位并解决各种问题。简单总结一些心得给大家。如果想要定位出协议服务器的问题,那么这些能力可能至关重要。 注:我这里比较偏向协议本身的问题,不涉及一些通用的网络问题(如网络吞吐量上不去 ...
Java单例模式是一种常用的创建型设计模式,用于确保一个类只有一个实例,并提供一个全局访问点来访问该实例。在Java中,有多种方式可以实现单例模式,下面详细介绍其中的几种常见实现方式。 1什么是创建型设计模式? 处理对象创建的模式,简答的理解就是如何创建对象?很多人都会想到new关键字,一般的项 ...
低代码开发平台的研发团队往往把更多的经历投入到应用程度搭建过程的完善和丰富上(例如,丰富可通过搭建实现的功能,优化拖拽搭建的交互体验等),而忽略了项目交付过程的能力和体验。 ...
本文对多租架构的典型故障场景进行分析,面对单租户 APP 异常导致的故障,提出应对的分级隔离方案,将单租户的运行资源消耗控制在确定的边界内,用确定性的故障隔离机制应对不确定的故障场景,以控制故障爆炸半径,减少平台级故障的发生。 ...
本文分享自华为云社区《异步网络请求编码》,作者:张俭 。 本文介绍常见的异步网络请求编码手法。尽管像golang这些的语言,支持协程,可以使得Programmer以同步的方式编写代码,大大降低编码者的心智负担。但网络编程中,批量又非常常见,这就导致即使在Golang中,也不得不进行协程的切换来满足批 ...
本文分享自华为云社区《SpringCloud ZooKeeper 详解,以及与Go、Rust等非Java服务的集成》,作者: 张俭。 ZooKeeper,是一个开源的分布式协调服务,不仅支持分布式选举、任务分配,还可以用于微服务的注册中心和配置中心。本文,我们将深入探讨ZooKeeper用做微服务注 ...
本文分享自华为云社区《开发者能力机制解析,玩转Sermant开发》,作者:华为云开源 。 前言: 在《Sermant框架下的服务治理插件快速开发及使用指南》中带大家一起体验了Sermant插件的开发,快速的了解了Sermant插件开发的全过程,本着从入门到精通的思路,本文对在开发中所常用的能力,从机 ...
1. 行为准则 2. 敏捷开发 2.1. 软件开发应该有计划和与之相应的跟踪 2.1.1. 你的队友想知道你在做什么,这样他们就能与你有效地配合 2.2. 敏捷开发是一种软件开发模型,被广泛采用于快速交付优质软件的场景 2.3. 要理解敏捷开发实践,你必须要首先理解敏捷哲学 2.4. 敏捷开发诞生于 ...
本文分享自华为云社区《线程锁导致的kafka客户端超时问题》,作者: 张俭 。 问题背景 有一个环境的kafka client发送数据有部分超时,拓扑图也非常简单 定位历程 我们先对客户端的环境及JVM情况进行了排查,从JVM所在的虚拟机到kafka server的网络正常,垃圾回收(GC)时间也在 ...
本文分享自华为云社区《Python中基于字段的不使用元类的ORM实现》,作者: 柠檬味拥抱 。 不使用元类的简单ORM实现 在 Python 中,ORM(Object-Relational Mapping)是一种将对象和数据库之间的映射关系进行转换的技术,使得通过面向对象的方式来操作数据库更加方便。 ...
1.背景 最近发现一个事情,如果日志中的时间戳,需要我们转换成时间,增加可读性。或者将时间转换成时间戳,来配置时间。相信大多人和我一样,都是打开网页,搜索在线时间戳转换工具,然后复制粘贴进去。个人认为可以手工打造一个python版本的时间戳转换工具,来解放双手,减少打开网页的时间,于是乎就产生了自己 ...
约定式提交规范是一种基于提交信息的轻量级约定。 它提供了一组简单规则来创建清晰的提交历史; 这更有利于编写自动化工具。 通过在提交信息中描述功能、修复和破坏性变更, 使这种惯例与SemVer相互对应。 ...
你可能会在一些场景下碰到需要返回多个不同类型的方法。比如协议解析读取报文时,更具体地像kubernetes在开始解析Yaml的时候,怎么知道这个类型是属于Deployment还是Service? ...
本文将介绍TCP连接的断开过程,重点关注四次挥手的过程和状态变迁,以及为什么挥手需要四次和为什么需要TIME_WAIT状态。 ...
本文分享自华为云社区《【Go实现】实践GoF的23种设计模式:适配器模式》,作者:元闰子。 简介 适配器模式(Adapter)是最常用的结构型模式之一,在现实生活中,适配器模式也是处处可见,比如电源插头转换器,它可以让英式的插头工作在中式的插座上。 GoF 对它的定义如下: Convert the ...