-
快速了解Kubernetes整体架构
所属栏目:[系统] 日期:2021-05-30 热度:179
从宏观上来看 Kubernetes 的整体架构,包括 Master、Node 以及 Etcd。 Master 即主节点,负责控制整个 Kubernetes 集群,它包括 API Server、Scheduler、Controller 等组成部分,它们都需要和 Etcd 进行交互以存储数据: API Server:主要提供资源操作的统[详细]
-
硬核实战分享:企业微服务架构设计及落地的六大难点介绍
所属栏目:[系统] 日期:2021-05-30 热度:58
以用户管理举例,在初始阶段的做服务拆分的时候,把用户管理拆分为用户服务,且具备了用户的增删改查功能,在互联网中流量获客是最贵的,运营团队通过互联网投放广告获客,用户在广告页上填写手机号码执行注册过程,如果此时注册失败或者注册过程响应时间[详细]
-
Eureka 都歇菜了,微服务还能坚挺吗?
所属栏目:[系统] 日期:2021-05-30 热度:150
老实说,这个问题并不难。 如果你做过微服务开发,这个面试题应该能够立马答出来,如果你没做过微服务开发,但是学过一些 Spring Cloud 组件的用法,这个问题可能要稍微想一下,但是也应该能够答出来。 今天就来和大家说说这个问题。 1.实践一下 这种问题[详细]
-
浅谈分布式系统一致性问题,你懂几分?
所属栏目:[系统] 日期:2021-05-30 热度:114
关于什么是分布式系统,有很多文章介绍,其实这个并不难理解,大白话讲就是:工厂活多了一个人撑不住,那就多找些工人一起干,要让这么多人为了一个目标干得快干得好,就需要一些规矩和套路,否则就乱了。 从实践来看分布式系统属于重要的架构模式,对于互[详细]
-
我劝你醒醒,请不要把 “业务逻辑层” 理解为 “业务中台”
所属栏目:[系统] 日期:2021-05-30 热度:184
在听完他的叙述之后,我忍不住笑出声来,并对他说:小伙子,你这哪是中台啊?!这分明是三层架构(3-Tier Architecture) 啊从表情上看,我感觉他有点懵圈,小声问了一句:三层架构?MVC吗?我摇了摇头,给他从头到底普及了下3-Tier Architecture,并且强调了界面[详细]
-
微服务项目搭建频繁需要使用搭建聚合工程
所属栏目:[系统] 日期:2021-05-30 热度:113
微服务项目中,我们是否还需要继续这种开发方式呢?今天松哥结合自己在项目中的经验和大家简单聊一下,微服务项目中代码的组织形式。 1.开发模式要搞清楚代码如何组织,首先大家要明白微服务架构到底是什么样子! 在微服务架构中,一个完整的项目被拆分成很[详细]
-
桥接模式提升代码的复用性
所属栏目:[系统] 日期:2021-05-30 热度:185
桥接模式人如其名,其实就相当于一个桥梁,把不同维度的变量桥接在一起来实现功能。假设我们需要实现三种形状(长方形,圆形,三角形),每种形状有三种颜色(红色,绿色,蓝色),这个需求有两个方案,一个方案写九个方法,每个方法实现一个图形: functionre[详细]
-
Netty中的数据容器分类使用方式及其空间分配
所属栏目:[系统] 日期:2021-05-30 热度:116
谈到数据保存肯定要说到内存分配,按照存储空间来划分,可以分为堆内存和堆外内存;按照内存区域连贯性来划分可以分为池化内存和非池化内存。这些划分在 Netty 中的实现接口分别如下。 按照底层存储空间划分: 堆缓冲区:HeapBuffer 直接缓冲区:DirectBuff[详细]
-
有多种服务于不同目的的架构图带你来了解
所属栏目:[系统] 日期:2021-05-30 热度:75
有多种服务于不同目的的架构图。 通常,数字解决方案架构师会草拟高层架构图,以促进技术解决方案设计。 架构图有两个主要优点: 它们有助于理解-提供可用系统和交互的概述,这有助于轻松地从更改中评估影响。 它们改善了沟通与协作-跨项目和利益相关者调[详细]
-
带你体验:GitOps工作原理到底是什么
所属栏目:[系统] 日期:2021-05-30 热度:121
英国作家Aldous Huxley曾说:速度是真正的乐趣之源。我认为生活如此,软件领域亦然。随着DevOps以及GitOps之类辅助实践的兴起,软件从架构设计到代码被部署到生产环境的速度是越来越快。 实际上,DevOps是通过定义一组实践和文化的转变,来提高我们生成代[详细]
-
几种常见的体系结构模式及其用法优劣势
所属栏目:[系统] 日期:2021-05-30 热度:93
管道过滤方式 经纪人模式 点对点模式 事件总线模式 模型视图控制器模式 黑板模式 解析器模式 1. 分层模式 此模式可用于构造可分解为子任务组的程序,每个子任务都处于特定的抽象级别。每一层都向上一层提供服务。 一般信息系统最常见的4层结构如下。 表示[详细]
-
我写这文章就是为了让你了解 AQS
所属栏目:[系统] 日期:2021-05-29 热度:188
文章准备模拟多线程竞争锁、释放锁的场景来进行分析AQS源码: 三个线程(线程一、线程二、线程三)同时来加锁/释放锁 目录如下: 线程一加锁成功时AQS内部实现 线程二/三加锁失败时AQS中等待队列的数据模型 线程一释放锁及线程二获取锁实现原理 通过线程场景[详细]
-
为你介绍微前端qiankun项目实践
所属栏目:[系统] 日期:2021-05-29 热度:183
最近在做微前端的项目 , 过程中真是踩了不少坑 , 在有限的资料中不断试错 , 默默无语两行泪 哈哈. 在此次将踩坑部分都记录下来, 让更多的人少走点弯路 , 此项目使用 蚂蚁金服qiankun 为基础作为开发 . 话不多说 开讲 !!! 那什么是 qiankun 呢 qiankun 是一[详细]
-
Elasticsearch对垒8大竞品技术,谁强谁弱?
所属栏目:[系统] 日期:2021-05-29 热度:79
青出于蓝,而胜于蓝。 入行Elastic-Stack技术栈很久很久,为了免于知识匮乏眼光局限,有必要到外面的世界看看,丰富自己的世界观。本篇内容从Elastic的竞争产品角度分析探讨。 哪些应用场景下使用Elasticsearch最佳? 哪些应用场景下不使用Elasticsearch最[详细]
-
是时候规划Spring非阻塞编程模式
所属栏目:[系统] 日期:2021-05-29 热度:99
2017年9月发布的Spring Framework 5中,引入了Spring WebFlux。WebFlux是完全响应式的技术栈。2019年12月发布了Spring Data R2DBC,这是一个使用响应式的数据库驱动。在本文中,我将证明在高并发下,WebFlux和R2DBC表现更好。该组合的响应时间和吞吐量都更[详细]
-
路在何方?聊聊中台建设中的那些纠结事
所属栏目:[系统] 日期:2021-05-29 热度:63
在探讨中台哪些让人纠结不定烦心事之前,我们依然要谈谈我们为什么要做中台(注:本文中台局限于企业 IT 架构的中台,非广义上的中台),做中台到底给我带来哪些好处,想不清楚这些就去深入到中台的细节里也无意义。 中台概念这几年特别火,就像 90 年代不做[详细]
-
一股脑例举 6种 延时队列的实现方法,面试官也得服
所属栏目:[系统] 日期:2021-05-29 热度:115
延时队列在项目中的应用还是比较多的,尤其像电商类平台: 1、订单成功后,在30分钟内没有支付,自动取消订单 2、外卖平台发送订餐通知,下单成功后60s给用户推送短信。 3、如果订单一直处于某一个未完结状态时,及时处理关单,并退还库存 4、淘宝新建商户[详细]
-
Spring核心组件原理教程
所属栏目:[系统] 日期:2021-05-29 热度:125
Spring Framework 总共有十几个组件,但真正核心的组件只有三个:Spring Core,Spring Context 和 Spring Bean,它们奠定了 Spring 的基础并撑起了 Spring 的框架结构。Spring 的其它功能特性例如 Web、AOP、JDBC 等都是在其基础上发展实现的。 Spring之中[详细]
-
Prometheus 如何做到“活学活用”,大神汇总的避坑攻略
所属栏目:[系统] 日期:2021-05-29 热度:139
监控系统的历史悠久,是一个很成熟的方向,而 Prometheus 作为新生代的开源监控系统,慢慢成为了云原生体系的事实标准,也证明了其设计很受欢迎。 本文主要分享在 Prometheus 实践中遇到的一些问题和思考,如果你对 K8S 监控体系或 Prometheus 的设计还不[详细]
-
为你介绍Tomcat内部实现架构解析
所属栏目:[系统] 日期:2021-05-29 热度:87
下面来解析一下这个配置文件: 可以看到Server标签port设置为8005,shutdown=SHUTDOWN,表示8005端口监听到SHUTDOWN命令就关闭Tomcat服务。 Resource内配置 pathname=conf/tomcat-users.xml 指定manageUI登录的用户以及其他的全局配置。 这个Server里只有[详细]
-
集群化部署,Spring Security 要怎样面对Session 共享?
所属栏目:[系统] 日期:2021-05-29 热度:187
当所有 Tomcat 需要往 Session 中写数据时,都往 Redis 中写,当所有 Tomcat 需要读数据时,都从 Redis 中读。这样,不同的服务就可以使用相同的 Session 数据了。 这样的方案,可以由开发者手动实现,即手动往 Redis 中存储数据,手动从 Redis 中读取数据[详细]
-
怎样“取巧”完善一个微前端沙箱?
所属栏目:[系统] 日期:2021-05-29 热度:89
应用沙箱可能是微前端技术体系里面最有意思的部分。一般来说沙箱是微前端技术体系中不是必须要做的事情,因为如果规范做的足够好,是能够避免掉一些变量冲突读写,CSS 样式冲突的情况。但是如果你在一个足够大的体系中,总不能仅仅通过规范来保证应用的可[详细]
-
假如看完这篇文章后,你还不懂Service Mesh?那你就可以自暴自弃
所属栏目:[系统] 日期:2021-05-29 热度:134
那么到底什么是Service Mesh? 一言以蔽之:Service Mesh是微服务时代的TCP协议。 有了这样一个感性的初步认知,我们再来看到底什么是Service Mesh。 提到Service Mesh,就不得不提微服务。根据维基百科的定义: 微服务(Microservices)是一种软件架构风[详细]
-
通过几段 Java 代码带你掌握 RPC
所属栏目:[系统] 日期:2021-05-28 热度:171
副标题#e# 这整个过程可以用一句话概括:机器 A 通过网络与机器B建立连接,A 发送一些参数给 B,B 执行某个过程,并把结果返回给 A。 在写代码之前,先说一个前置背景,假设我们有一个商品类: publicclassProductimplementsSerializable{ privateIntegerid[详细]
-
如何写出高效的 CQRS 代码?
所属栏目:[系统] 日期:2021-05-28 热度:63
CQRS 模式可以创造奇迹:它可以将可扩展性、性能、安全性最大化,甚至可以打破 CAP 定理 (1)。尽管如此,CQRS 还是因为其引入的复杂性而获得了一个有争议的名字。例如,Martin Fowler 在其 CQRS 文章 (2) 中认为,应该少用甚至谨慎地应用该模式。 对大多数[详细]