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