kafka 架构和原理机制 (图文全面详解)_mikechen的互联网架构-编程思维

目录 一:Kafka 简介 二:Kafka 基本架构 三:Kafka 基本原理 四:Zookeeper 在 kafka 的作用 五:Kafka 的特性 六:Kafka 的应用场景 一:Kafka 简介 Apache Kafka 是分布式发布 - 订阅消息系统,在 kafka 官网上对 kafka 的定义:一个分布式发布 - 订阅消息传递系统。 Kafka 最初由 LinkedIn

golang微服务框架go-kratos分析:框架架构分析_九卷-编程思维

一、kratos设计理念 这里主要讲解 kratos v2 的设计理念。 kratos 框架制定接口规范,然后通过插件来实现具体需求,实现自由定制、可插拔的微服务框架。 我们既可以选择 kratos 框架提供的插件,也可以自己定制实现相关插件,实现高度定制化。 也能整合相关 Go 的第三方工具。构建一个 Go 微服务的工具箱。 面向包的设计,参考了 Go 的基础库设计思想,包名按照实际功能划分

什么是安全架构 - 编程思维

前言随着时间增长, 看事情的思路也会产生一些变化。回顾之前作安全架构评审时的一些思路和细节, 同现在对比来看, 又有了些许思考。记录于此, 以飨读者。架构基础你可能会下面列的东西觉得有点虚, 但是根据经验总结来看, 一个称职的安全架构师确实需要具备这些能力。当然这并不意味着你需要在一开始就具备所有的知识。但如果你遇到的安全架构师不具有这些知识并且没有去了解的欲望, 那么很大程度上, 他并不会是一个

flutter 系列之:flutter 中的幽灵offstage - 编程思维

简介我们在使用flutter的过程中,有时候需要控制某些组件是否展示,一种方法是将这个组件从render tree中删除,这样这个组件就相当于没有出现一样,但是有时候,我们只是不想展示这个widget,但是这个组件还是存在的,并且可以接受键盘输入,还可以使用CPU。它和真正的组件唯一不同的就是他是不可见的。这样的组件就叫做Offstage。 今天给大家详细介绍一下Offstage的使用。Offst

java 动态代理原理图解 (附:2种实现方式详细对比)_mikechen的互联网架构-编程思维

​   动态代理在 Java 中有着广泛的应用,例如:Spring AOP 面向切面编程,Hibernate 数据查询、以及 RPC Dubbo 远程调用等,都有非常多的实际应用@mikechen 目录 Java 动态代理原理 JDK 原生动态代理 CGLib 动态代理实现 JDK 动态代理与 CGLib 的区别 Java 动态代理原理 按照代理的创建时期,代理类可以分为两种:

11 月亚马逊云科技培训与认证课程,精彩不容错过! - 编程思维

备考训练营:Amazon Certified 云从业者2022年11月8日 | 10:00 – 11:30课程介绍:该课程无需您拥有特定的职业技能,您可以通过此课程获得对亚马逊云科技的全面了解,在该线上研讨会期间,您将有机会通过一系列实践考试问题来进行概念测试,我们将提供有关云概念、亚马逊云科技服务、安全性、架构、定价和支持的详细概述。目标客群:销售人员法务人员营销人员业务分析师项目经理亚马逊

京东云开发者|探寻软件架构的本质,到底什么是架构? - 编程思维

不论是开发人员还是架构师,我们都一直在跟软件系统打交道,架构是在工作中出现最频繁的术语之一。那么,到底什么是架构?你可能有自己的答案,也有可能没有答案。对“架构”的理解需要我们不断在实践中思考、归纳、演绎,形成自己的认知。1 到底什么是软件架构 ?定义 ”架构是什么“ 是件非常困难的事情,不同的组织对于软件架构有不同的定义,每个人心中也有自身对于系统架构定义的认知。就好比我们无法百分之百表述模型而

微服务 zipkin 链路追踪原理(图文详解) - 编程思维

一个看起来很简单的应用,可能需要数十或数百个服务来支撑,一个请求就要多次服务调用。当请求变慢、或者不能使用时,我们是不知道是哪个后台服务引起的。这时,我们使用 Zipkin 就能解决这个问题。由于业务访问量的增大,业务复杂度增加,以及微服务架构和容器技术的兴起,要对系统进行各种拆分。微服务系统拆分后,我们可以使用 Zipkin 链路,来快速定位追踪有故障的服务点。今天重点讲解 Zipkin 链路追

京东云开发者|探寻软件架构的本质,到底什么是架构?_京东云开发者-编程思维

不论是开发人员还是架构师,我们都一直在跟软件系统打交道,架构是在工作中出现最频繁的术语之一。那么,到底什么是架构?你可能有自己的答案,也有可能没有答案。对“架构”的理解需要我们不断在实践中思考、归纳、演绎,形成自己的认知。 1 到底什么是软件架构 ? 定义 ”架构是什么“ 是件非常困难的事情,不同的组织对于软件架构有不同的定义,每个人心中也有自身对于系统架构定义的认知。就好比我们无法百分之百表述

微服务 zipkin 链路追踪原理(图文详解)_mikechen的互联网架构-编程思维

一个看起来很简单的应用,可能需要数十或数百个服务来支撑,一个请求就要多次服务调用。 当请求变慢、或者不能使用时,我们是不知道是哪个后台服务引起的。 这时,我们使用 Zipkin 就能解决这个问题。 由于业务访问量的增大,业务复杂度增加,以及微服务架构和容器技术的兴起,要对系统进行各种拆分。 微服务系统拆分后,我们可以使用 Zipkin 链路,来快速定位追踪有故障的服务点。 今天重点讲解 Z

5大负载均衡算法 (原理图解)_mikechen的互联网架构-编程思维

负载均衡,是分布式架构的必备技术,也是进阶的必学技术,需要重点掌握。 本文,我将重点详解负载均衡的5大核心算法 @mikechen 先来看张图,下面是一个典型的集群和负载均衡架构图: 当一台机器不能承受访问压力时,我们大多会通过横向增加两台、或者多台服务器,来共同承担访问压力,来极大的降低后端的访问压力,提升用户的访问性能。 但是,从一台扩展到多台服务器后,如何将客户端的流量、分发到具体的服务

emq「边缘-工厂-云」异常事件告警处理架构 - 编程思维

背景随着 5G、大数据、人工智能技术等的高速发展,各类智能物联设备 AR、巡检机器人、无人机、可穿戴便携设备等开始在工业领域中得到广泛应用,工业装备的结构和工业生产的环境日趋复杂。对于整个工厂来说,智能化、数字化的实现不仅是通过新型工艺和生产设备的使用提升生产水平,还需要构建具备「眼-鼻-耳」的工厂智慧大脑,能够实时感知生产设备情况,对整个生产环境中的异常事件通过系统自动告警、多方联动应急等方式进

vivo平台化实践探索之旅-平台产品系列01 - 编程思维

vivo 互联网平台产品研发团队- Yang Yang本篇为《vivo 平台产品》系列文章的第1篇。主要描述在业务高速发展的背景下,vivo软件工程师通过系统平台化建设等手段,逐步解决软件复用,快速响应业务变化等棘手问题的过程。我们从中精选出内容审核平台、AB实验平台、版本发布平台等具备代表性的平台产品,为大家对平台化的经历进行详细的介绍。一、平台化1.1 业务现状vivo的互联网业务起始于201

dubbo 原理和机制详解 (非常全面) - 编程思维

Dubbo是一款Java RPC 框架,致力于提供高性能的RPC远程服务调用方案。下面我重点详解Dubbo的原理机制@mikechen目录Dubbo核心功能Dubbo核心组件Dubbo的架构设计Dubbo调用流程Dubbo核心功能Dubbo主要提供了3大核心功能:面向接口的远程方法调用,智能容错和负载均衡,以及服务自动注册和发现。1)远程方法调用网络通信框架,提供对多种NIO框架抽象封装,包括“同

制造业的三种模式:oem、odm和obm_anliux-编程思维

参考链接: 商务部官网:制造业的三种模式——OEM、ODM和OBM 知乎:ODM 和 OEM 分别是什么?两者有什么本质区别? 名词定义 OEM Original Equipment Manufacture(原始设备生产商) OEM其基本含义是: 按原公司(品牌公司)委托合同进行产品开发和制造,用原公司商标,由原公司销售或经营的合作经营生产方式。 与现代工业社会有着密切的关系,也称为“代工”

架构设计:bff和serverless简介_蓓蕾心晴-编程思维

一、BFF   在聊Serverless之前跟大家先谈谈BFF,BFF顾名思义就是Backend For Frontend,用中文解释就是服务于前端的后端,那么为什么会有BFF?   在项目开发中,前后端分配的问题   “你自己请求2个接口再组装不就行了吗” - 后端同学   “少一次http请求啊,加一个接口有那么难吗” - 前端同学   前端同学和后端同学都各有各的道理,有没有一种解决方案可

微服务架构学习与思考(10):微服务网关和开源 api 网关01-以 nginx 为基础的 api 网关详细介绍_九卷-编程思维

微服务架构学习与思考(10):微服务网关和开源 API 网关01-以 Nginx 为基础的 API 网关详细介绍 一、为什么会有 API Gateway 网关 随着微服务架构的流行,很多公司把原有的单体架构改造成了微服务架构。 第一步:拆分 微服务架构就是把一个大单体改造成一个一个小的应用。比如把一个电商网站,从单体改造成微服务架构,如下图: 改造成微服务后,用户通过 PC 和手机访问电商应用

vivo平台化实践探索之旅-平台产品系列01_vivo互联网技术-编程思维

vivo 互联网平台产品研发团队- Yang Yang 本篇为《vivo 平台产品》系列文章的第1篇。主要描述在业务高速发展的背景下,vivo软件工程师通过系统平台化建设等手段,逐步解决软件复用,快速响应业务变化等棘手问题的过程。我们从中精选出内容审核平台、AB实验平台、版本发布平台等具备代表性的平台产品,为大家对平台化的经历进行详细的介绍。 一、平台化 1.1 业务现状 vivo的互联网业

服务库与事件库 - 编程思维

一个庞大的分布式系统,各个组件间是如何协调工作的?组件是如何解耦的?线程运行如何更高效,减少阻塞带来的低效问题?本节将对 Yarn 的服务库和事件库进行介绍,看看 Yarn 是如何解决这些问题的。一、服务库一)简介对于生命周期较长的对象,Yarn 采用基于服务的模型对其进行管理,有以下几个特点:基于状态管理:分为 4 个状态:NOTINITED(被创建)、INITED(已初始化)、 STARTED

流程引擎的架构设计 - 编程思维

1 什么是流程引擎流程引擎是一个底层支撑平台,是为提供流程处理而开发设计的。流程引擎和流程应用,以及应用程序的关系如下图所示。常见的支撑场景有:Workflow、BPM、流程编排等。本次分享,主要从BPM流程引擎切入,介绍流程引擎的架构设计方法。1.1 什么是流程简单来说,流程就是一系列活动的组合。比如,用于企业办公的OA系统中,就存在大量的申请审批类的流程。在生产制造业,有大量的从销售端的订单,