自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(1914)
  • 收藏
  • 关注

原创 云计算该怎么学——浅谈Linux IO

Linux IO是文件存储的基础。本文参考了网上博主的一些文章,主要总结了linuxIO的基础知识。Linux IO栈Linux文件IO采用分层的设计。分层有两个好处:1. 架构清晰;2. 功能解耦;​编辑切换为居中添加图片注释,不超过 140 字(可选)linux文件IO的时候,从通用性和性能的角度考虑,采用了一个折中的方案来满足我们日常写磁盘。例如:char *buf = malloc(MAX_SIZE); strncpy(buf, src, MAX_SIZE); fwrite(buf,

2022-06-10 16:42:56 592 2

原创 给go项目打最小docker镜像,足足降低99%

1.直接编译得到运行文件 22M使用的项目源码地址 (https://github.com/scoful/kingProject)本地直接编译打一个linux运行包结果是22M不编译直接运行的镜像 941MDockerfile文件内容编译镜像后查询结果如下:结果是941M,基本跟基础镜像golang的大小一致,而且因为没有预先编译,等到运行的时候再编译并拉取依赖包,run起来很慢编译后的镜像 1.14GDockerfile文件内容结果是1.14G,更大了,因为加上了编译过程中拉取的包,但是

2022-06-09 18:03:14 1084 1

原创 有了这款Linux网络延迟排查方法,再也不用加班了 ~

在 Linux 服务器中,可以通过内核调优、DPDK 以及 XDP 等多种方式提高服务器的抗攻击能力,降低 DDoS 对正常服务的影响。在应用程序中,可以使用各级缓存、WAF、CDN 等来缓解 DDoS 对应用程序的影响。但是需要注意的是,如果 DDoS 流量已经到达 Linux 服务器,那么即使应用层做了各种优化,网络服务延迟一般也会比平时大很多。因此,在实际应用中,我们通常使用 Linux 服务器,配合专业的流量清洗和网络防火墙设备,来缓解这个问题。除了 DDoS 导致的网络延迟增加,我想你一定见过很多

2022-06-08 17:34:45 1678

原创 MySQL的零拷贝技术

1.需要了解Buffer 与 cache 的区别Bbuffer 与 Cache 非常类似,因为它们都用于存储数据数据,被应用层读取字节数据。在很多场合它们有着相同的概念:首先从翻译上,Buffer应该翻译为“缓冲”,Cache应该翻译为“缓存”,两个完全不是一个东西。在硬件这一层看,Buffer应该为内存,Cache为CPU集成的告诉缓存。Buffer为了让不同速度的设备能够同步,建立的一个缓冲区域,写进Buffer的数据是为了从中拿出写入其他设备。Cache是为了提高读取速度,将经常或马上需要的数据预读到

2022-06-07 17:36:55 215

原创 六款Linux常用远程连接工具介绍

1、Xshell介绍:xshell 是一个非常强大的安全终端模拟软件,它支持 SSH1, SSH2, 以及 Windows 平台的 TELNET 协议。Xshell 可以在 Windows 界面下用来访问远端不同系统下的服务器,从而比较好的达到远程控制终端的目的。官网:2、secureCRT介绍:SecureCRT 支持 SSH,同时支持 Telnet 和 rlogin 协议。SecureCRT 是一款用于连接运行包括 Windows、UNIX 和 VMS 的理想工具。通过使用内含的 VCP 命令行程

2022-06-06 18:36:47 249

原创 云计算该怎么学——PromQL查询剖析

本文让我们一起来看看PromQL查询解析。虽然PromQL有操作符、函数、选择器等,但我们无需被本篇文章中的这些细节所困扰。让我们来看看查询的总体性质:PromQL查询是如何结构化和类型化的?随着时间的推移它们是如何评估的?让我们来看一下PromQL的查询结构。PromQL有操作符、函数、选择器等等,但是我们不要被本篇文章中的细节所困扰。相反,让我们看看查询的整体:PromQL查询是如何构造和输入的,以及随着时间的推移它们是如何被评估的?让我们开始吧!1.PromQL是一种嵌套的函数式语言不像SQL或其他一

2022-06-02 10:58:42 325

原创 这些Shell分析服务器日志命令集锦,收藏好了~

自己的小网站跑在阿里云的 ECS 上面, 偶尔也去分析分析自己网站服务器日志,看看网站的访问量。看看有没有黑阔搞破坏!于是收集,整理一些服务器日志分析命令,大家可以试试!1、查看有多少个IP访问:awk'{print$1}'log_file|sort|uniq|wc-l2、查看某一个页面被访问的次数:grep"/index.php"log_file|wc-l3、查看每一个IP访问了多少个页面:awk'{++S[$1]}END{for(ainS)...

2022-05-31 17:48:48 172

原创 Docker容器网络必知必会

Docker的技术依赖于Linux内核的虚拟化技术的发展,Docker使用到的网络技术有Network Namespace、Veth设备对、Iptables/Netfilter、网桥、路由等。接下来,我将以Docker容器网络实现的基础技术来分别阐述,希望给大家能形成一个稳固的基础知识网。Network Namespace为了支持网络协议栈的多个实例,Linux在网络栈引入了Network Namespace,这些独立的协议栈被隔离到不同的Namespace中,处于不同Namespace中的网络

2022-05-30 19:05:09 218

原创 Shell 脚本进阶经典用法及其案例

一、条件选择、判断1、条件选择if1)用法格式if判断条件1;then条件为真的分支代码elif判断条件2;then条件为真的分支代码elif判断条件3;then条件为真的分支代码else以上条件都为假的分支代码fi逐条件进行判断,第一次遇为“真”条件时,执行其分支,而后结束整个if。2)经典案例:#判断年纪#!/bin/bashread-p"Pleaseinputyourage:"ageif[[...

2022-05-27 20:16:46 278

原创 Kubernetes网络策略,这一篇就够了

目前许多组织都在采用Kubernetes来运行他们的应用程序。以至于有些人将Kubernetes称为新的数据中心操作系统。因此,组织开始将Kubernetes(通常缩写为k8s)视为关键任务平台,它需要包括网络安全在内的成熟业务流程。负责保护这个新平台的网络安全团队可能发现它出奇的不同。例如,默认的Kubernetes策略是允许任何连接。本文提供了一些关于Kubernetes网络策略工作原理的简介,它们如何与传统防火墙策略进行比较以及一些可以帮助你保护Kubernetes应用程序的陷阱和最.

2022-05-26 17:49:20 381

原创 Spring Boot内置工具类

断言1.断言是一个逻辑判断,用于检查不应该发生的情况2.Assert 关键字在 JDK1.4 中引入,可通过 JVM 参数-enableassertions开启3.SpringBoot 中提供了 Assert 断言工具类,通常用于数据合法性检查//要求参数object必须为非空(NotNull),否则抛出异常,不予放行//参数 message 参数用于定制异常信息。voidnotNull(Objectobject,Stringmessage)//要求参数必须空(N...

2022-05-25 16:56:53 184

原创 利用Linux查找重复文件

方法一:使用Find命令本部分算是对find强大功能的扩展使用方法说明。在find的基础上,我们可与(如xargs命令)等其它基本Linux命令相结合,即能创造出无限的命令行功能,比如:可以快速查找出Linux某个文件夹及其子文件夹中的重复文件列表。要实现这个功能在流程上是比较简单的,只要查找遍历出所有文件,再通过命令去比较每个文件的MD5就OK啦。听起来好像比较抽象,其实命令就一条:find -not -empty -type f -printf "%s\n" | sort -rn | un

2022-05-24 17:52:31 413

原创 Bash编程易错总结大全

Bash Pitfalls文章介绍了 40 多条日常 Bash 编程中,老手和新手都容易忽略的错误编程习惯。每条作者在给出错误的范例上,详细分析与解释错误的原因,同时给出正确的改写建议。文中有不少引用的文章,也值得大家仔细阅读。仔细阅读了这篇文章后,收获很多,不感独享,把这篇文章以半翻译半笔记的形式分享给大家。1.for i in $(ls *.mp3)Bash 写循环代码的时候,确实比较容易犯下面的错误:foriin$(ls*.mp3);do#错误!some...

2022-05-23 19:01:29 266

原创 Java项目开发餐饮行业管理系统技术开发详细步骤速看

一. 项目介绍本系统主要应用在餐饮行业,可以适用于中餐、西餐、快餐、火锅、烤肉等,主要功能分前端和后端两部分。前端主要完成就餐客户的餐厅预定及点菜环节,后端主要完成餐厅、餐桌的设置,菜品的设置等系统分为前端和后台两部分。1.前端主要功能餐厅选择、菜品选择、下单、结算2.后端主要功能餐桌管理、餐厅管理、菜系管理、菜品管理二. 系统优势饮信息化管理大大降低了企业的运营成本、提高了客户满意度和忠诚度,实现店面的统一管理。然而,餐饮管理系统经过不断的演化和发展,功能及特色逐步向趋同,

2022-05-18 18:49:01 654

原创 Apifox接口管理开发测试全流程

一. Apifox简介Apifox是API文档、API 调试、API Mock、API 自动化测试一体化协作平台。​功能定位 Postman + Swagger + Mock + JMeter。Apifox主要用于接口管理、开发、测试全流程集成工具,使用受众为整个研发技术团队,主要使用者为前端开发、后端开发和测试人员。而且公网SaaS版本完全免费。二. 背景需求1、概述目前市面上很多团队都有前端后端测试三个岗位,当一个团队在开始开发一个项目前,前端与后端需要提前约定好接口,...

2022-05-17 19:51:37 1761

原创 数据类型转化异常问题很难解决

我们在开发Java项目时,经常会碰到数据类型的转化的情况,而很多初学者或经验不够的程序员,经常会在进行数据类型转换时遇到异常。数据类型转换异常虽然是看似简单的错误,但带来的后果却是不可估量的。所以今天千锋老谢就来给大家讲一下数据类型转化过程中产生的问题该如何解决,以及其他需要注意的地方。一、显式类型转换产生的异常首先我们来看下面这个具体的需求,范某某因为偷税漏税被罚款8.83亿,如果程序这么写:double money = 8.83; //单位为亿int newMoney = (doubl.

2022-05-16 11:20:50 654

原创 Java入门下载安装配置使用Intellij IDEA教程

命运就算颠沛流离命运就算曲折离奇命运就算恐吓着你做人没趣味别流泪心酸更不应舍弃愿千锋能一生永远陪伴你一生之中弯弯曲曲我也要走过从何时有你有你伴我给我热烈地拍和像Java语言陪伴真的我结伴行千山也定能踏过​一. 课程介绍前几天,我们Java架构栈应广大小白粉丝的强烈呼声,给小白童鞋们推出了新手福利包,录制了一套新手必备开发工具的使用教程。课程上线后反响很好,在B站上收到了很多朋友的收藏和点赞。但是不少小白粉丝给我们发来了私信,说现在很多公司已经不太使用Eclip

2022-05-13 14:36:01 196

原创 Springboot最大的优势和自动配置

一. 问题阐述最近有不少同学问耀哥,使用SpringBoot和过去用XML配置的SSM程序到底有什么区别,如果我们只从写代码的逻辑来看,用SpringBoot也一样是从控制层开发到持久层,似乎和过去没什么区别。那么SpringBoot的优势到底在哪里呢?今天耀哥就跟大家分析一下这个问题。二. 自动配置其实SpringBoot的优势就在于【自动配置】。大家是否还记得,在过去XML配置SSM程序的时代,我们为了把Mybatis整合到Spring的管理中去,第一件事情就是要配置一个数据源的be

2022-05-12 14:59:05 631

原创 Java入行学习超详细路线

虽然我们现在已经有了学习Java的充足信心,你也做好了学习Java的思想准备,但你现在的Java水平还没入门呢,那到底怎样才算入门呢?接下来壹哥再给你分析分析,到底学到什么程度,到底学完哪些Java知识,你才算真正的入门!壹哥会结合2022年最新的Java学习路线,给大家分析一个入门级的Java程序员应该具备的知识技能!一. Java学习路线Java作为后端开发中首选的编程语言,在与各种编程技术的综合对比中都是非常优秀的,当然对于初学者来说,也是具有一定的学习难度的,这也就是为什么学Java的女生比

2022-05-11 14:07:12 305

原创 Solr全文搜索入门教程来袭包含京东搜索项目实战案例

当你的笑灿烂像阳光当你的梦做的够漂亮这世界才为你鼓掌只有Java帮助你成长全世界在催着你长大健哥和壹哥心疼你小小翅膀为你撑起solr全文检索技术最困难的地方当你必须成为Java大神满足所有需求只有老师们会格外欣赏一路上你坚强努力的模样一. 课程介绍你知道吗?无论是京东、阿里、华为、百度,这种大厂的项目,还是籍籍无名的项目;无论是PC端的项目,还是移动端的项目;无论是电商项目,还是金融项目......这些众多的项目中,都有一个很显眼很重要的功能需要.

2022-05-10 14:14:42 224

原创 JavaWeb新项目视频管理平台要这么做附源码

一 课程介绍简介:本项目为JavaWeb项目(视频管理平台),是在Web环境下实现的视频管理平台。技术上涉及Servlet、JSP、EL表达式、JSTL、Apache Dbutils、分页,以及其他之前Web阶段所学习的课程内容。本项目重点锻炼学员的Servlet、JSP、MySQL数据库等技能,以及熟练掌握JavaWeb项目的实战开发流程及规范。该项目的核心功能如下所示: 管理员登录 管理员界面显示 菜单信息列表 添加新菜单 类别信息列表

2022-04-01 17:59:51 650 1

原创 Java开发如何自学快速达到工作的要求最贴合企业的需求速看

看到又有新的朋友想学习Java,涛哥真的觉得很高兴,感觉我们Java程序员的队伍又要壮大了。看到今天的这个问题,涛哥想给大家梳理一下Java的自学路线。因为企业中Java开发涉及到的技术范围比较广,所以Java的明确学习线路确实能够事半功倍。下面是以我十几年的开发经验,总结出来的最贴合企业要求的学习线路。一、Java基础 变量 分支结构和选择结构 循环结构 方法和数组 面向对象的三大特征 抽象类和接口 常用的Java基础类

2022-03-30 15:45:02 172

原创 单机版坦克大战分步实现项目源码

public void launch() { //设置窗口标题 setTitle("千锋坦克大战"); //设置宽高 setSize(width, height); //居中 setLocationRelativeTo(null); //差掉窗口,结束 setDefaultCloseOperation(3); //窗口不可拉伸 setRes...

2022-03-29 18:28:42 324

原创 大厂面试题面试,有关session的问题怎么回答呢

金三银四面试黄金周期,相信很多小伙伴儿都参加大大小小不少面试啦!今天大连九哥给大家剖析一下有关session的面试题。首先session是我们在学习javaweb时很重要的一个技能点,在面试的时候经常被面试官问到,常见问题如下:1、session和Cookie的区别是什么?2、session的生命周期是怎样的?3、session的性能瓶颈?4、session的工作原理?……今天大连九哥就来和大家来剖析一下session的工作原理。特别说明一下,现在说的session是

2022-03-28 17:55:06 291

转载 如何在React项目中使用ECharts图表库

引言在项目的开发中,对于我们前端开发人员而言,总是无法避免需要对数据进行可视化分析和设计的需求。但事实上,如果单纯的依靠Html5 Canvas想要快速地创建简洁,美观,炫酷的可视化作品难度极大且可维护性差。而现如今随着技术的迭代更新发展,已经出现很多可靠,易用,操作便捷,可交互,跨平台的一些可视化解决方案如ECharts,HighCharts,,Chart.js等。于是在本文中,我们以ECharts为例,来尝试将可视化解决方案应用于React-当前最流行的前端框架之一。 ​ 因为React的性能优越,

2021-02-05 14:41:05 2562

转载 接口安全你了解多少?

前后端分离式开发需要进行数据交互,传输的数据被偷窥、被抓包、被伪造时有发生,那么如何设计一套比较安全的API接口方案呢?并不是所有的接口都需要考虑安全的,有些接口是公开的,任何人只要知道地址都可以调用,对于一些项目中需要用户登录才能访问的接口才需要考虑安全问题。一般解决的方案有以下几类:token令牌认证(jwt)AK(app key)&SK(secret key)【用户名&密码】时间戳超时验证+签名算法字符串URL签名(算法,非对称算法)数据脱敏(防范数据库数据泄露).

2021-02-05 14:39:45 296

转载 JavaScript Modules使用向导

如果你是JavaScript的新手,诸如模块捆绑器与模块加载器,Webpack与浏览器,AMD与CommonJS之类的术语,可能会变得不知所措,但了解它对Web开发人员至关重要,下面我们就一起来看看。什么是模块?好的作者将他们的书分为章节,优秀的程序员将其程序分为模块,好的模块是高度独立的,具有独特的功能,可以根据需要对它们进行改组,删除或添加,而不会破坏整个系统。为什么要使用模块?可维护性模块是独立的。设计良好的模块旨在尽可能减少对代码库各部分的依赖,从而使其能够独立增长和改进。当模块与

2021-02-05 14:38:20 638

转载 你不知道的作用域

如果你是一个前端工程师,那么JavaScript的作用域你一定不会陌生。你知道的可能是 JavaScript中有传统的函数级作用域 和 全局作用域 ES6 let const 的块级作用域但是还有一个你不知道的块级作用域的存在,今天我们就来扒一扒这些鲜为人知的小秘密我们先来看看下面这个段代码,请思考一下结果是什么。function fn() { var foo = 1; if (true) { foo = 2; function foo(

2021-02-05 14:37:46 144

原创 消息系统Kafka笔试题:kafka 高效读写的因素

1.在磁盘只做Sequence I/O 顺序读写kafka 生产者写数据是有序的,即 Partition 内部有序,数据以 append 的方式顺序追加写入。Consumer 消费数据也是有序的,指定 offset 后顺序读出 offset 之后的数据。顺序读写可以避免磁盘读数据时的多次寻道和旋转延迟2.传统的IO流程举个例子说明传统IO流程,比如:从磁盘读取数据,然后从Socket发送到网络传统IO流程:1、第一次:将磁盘文件,读取到操作系统内核缓冲区;2、第二次:将内核缓.

2020-12-31 14:58:17 186

原创 消息系统Kafka笔试题:Kafka 底层的文件存储结构

分区目录文件, Partition 命名规则为:【topic 名称】+【从 0 开始的有序序号】drwxr-x % 2 root root 4096 Jul 26 19:35 kafka-topic-01-0drwxr-x % 2 root root 4096 Jul 24 20:15 kafka-topic-01-1drwxr-x % 2 root root 4096 Jul 24 20:15 kafka-topic-01-2 # 分区目录中的日志数据文件和日志索引文件-rw-r----- .

2020-12-31 14:54:32 171

转载 GitLab结合Git小乌龟实现dev,master,release等不同代码分支合并

GitLab结合Git小乌龟实现dev分支,合并代码到release,master等不同分支的操作步骤本案例以dev分支合并代码到master分支为例,Git小乌龟图形化界面步骤为:1.提交dev分支的新代码到本地和远程仓库中:①.进入到dev分支的目录下;②.提交代码到dev的本地和远程仓库中:右键dev目录的任意位置---->Git Sync...--->Fetch & Rebase---->填写必要的提交信息,Ok...不需要过多的操作---->

2020-12-22 15:02:43 2217

转载 Java面试题系列01之Java数据类型及类型转换

Java最新面试题精讲系列01之Java数据类型及类型转换对于初级或部分中级Java程序员来说,关于Java数据类型的面试题是属于比较高频的一个考点,关于数据类型的面试题及笔试题还是比较多的。一. Java数据类型1. 概述Java语言是静态类型的(statical typed),也就是说所有变量和表达式的类型在编译时就已经完全确定了。由于是statical typed,也就导致了Java语言是强类型(Strong typed)的。强类型则意味着每个变量都属于某一种类型,每个表达式也都属于某

2020-12-22 15:01:51 228

转载 订单号的生成

一.订单号生成的原则:1.全局的唯一性2.自增长3.长度的要求4.具有一定的可读性5.保密,不可推测性6.效率性二.实现方案常见的ID生成策略。 1. 数据库自增长序列或字段 2. UUID 3. UUID的变种*【UUID to Int64;NHibernate在其主键生成方式中提供了Comb算法(combined guid/timestamp)】 4. Redis生成ID 5. Twitter的snowflake算法 6. 利用zookeeper的znode生成唯一ID

2020-12-22 15:01:41 4340

转载 实时计算引擎Spark笔试题:Spark Shuffle 机制

说明:Spark是目前大数据中非常流行的运算框架,Spark的Shuffle机制是完成运算最重要的一环,面试时经常会被问到.在Spark中,Shuffle分为map阶段和reduce阶段,也可称之为shuffle write和shuffle read阶段,Spark在1.1以前的版本一直是采用Hash Shuffle的实现的方式,到1.1版本时参考Hadoop MapReduce的实现开始引入Sort Shuffle,在1.5版本时开始Tungsten钨丝计划,引入UnSafe Shuffle优化内存及

2020-12-18 11:06:41 188

转载 实时计算引擎Spark笔试题:Spark 内存管理模型&动态内存管理

内存结构图动态内存管理1.设定基本的存储内存和执行内存区域(spark.storage.storageFraction参数),该设定确定了 双方各自拥有的空间的范围。2.双方的空间都不足时,则存储到硬盘;若己方空间不足而对方空余时,可借用对方的空间;(存储空间不足是指不足以放下一个完整的Block)。3.执行内存的空间被对方占用后,可让对方将占用的部分转存到硬盘,然后“归还”借用的空间。4.存储内存的空间被对方占用后,无法让对方“归还”,因为需要考虑Shuffle过程中的很多因素,实

2020-12-18 11:00:52 192

转载 实时计算引擎Spark笔试题:Spark Streaming 反压机制(Back Pressure)

Spark Streaming 反压机制是1.5版本推出的特性,用来解决处理速度比摄入速度慢的情况,简单来讲就是做流量控制。当批处理时间(Batch Processing Time)大于批次间隔(Batch Interval,即BatchDuration)时,说明处理数据的速度小于数据摄入的速度,持续时间过⻓或源头数据暴增,容易造成 数据在内存中堆积,最终导致Executor OOM。反压就是来解决这个问题的。spark streaming的消费数据源方式有两种:1. 若是基于Receiver的数据源,

2020-12-17 17:05:34 200

转载 实时计算引擎Spark笔试题:一些常见的比较总结

1Sparkrepartition和coalesce的区别1.1. repartition只是coalesce接口中shuffle为true的实现1.2. 不经过 shuffle,也就是coaleasce shuffle为false,是无法增加RDD的分区数的,比如你源RDD 100个分区,想要变成200个分区,只能使用repartition,也就是coaleasce shuffle为true。1.3. 如果上游为Partition个数为N,下游想要变成M个PartitionN >..

2020-12-17 17:05:02 167

转载 实时计算引擎Spark笔试题:Spark Catalyst 查询优化器原理

这里我们讲解一下SparkSQL的优化器系统Catalyst,Catalyst本质就是一个SQL查询的优化器,而且和 大多数当前的大数据SQL处理引擎设计基本相同(Impala、Presto、Hive(Calcite)等)。了解Catalyst的SQL优化流程,也就基本了解了所有其他SQL处理引擎的工作原理。*SQL优化器核心执行策略主要分为两个大的方向:基于规则优化(RBO)以及基于代价优化(CBO),基于规则优化是一种经验式、启发式地优化思路,更多地依靠前辈总结出来的优化规则,简单易行且能够覆盖

2020-12-17 17:04:54 186 1

转载 GO语言:微服务简介--解决复杂问题

许多大公司如阿里巴巴,腾讯,微博,滴滴等,已经采用现在所谓的微服务架构模式解决了我们前文所提到的单体应用遇到的种种问题。主要的思路:将应用程序分解成一套较小的互连服务。一、微服务解决方案一个服务通常实现了一组不同的特性或功能,例如订单管理、客户管理等。每一个微服务都是一个小型迷你应用,在需要依赖的地方,通过REST API连接其他所需要的服务之星业务逻辑。微服务架构 一些微服务会向外暴露一组供其他模块访问和使用的API。其他微服务实现了自己的业务逻辑,在必要时,可以通过API进行业务逻辑访问。

2020-11-06 10:46:50 383

转载 GO语言:微服务简介--走向单体地狱

上节课我们讲了,我们在进行开发一个新的应用时,可以构建一个整体的应用系统,我们称之为单体应用。当我们的应用刚开始起步,业务功能少,代码量可控时,我们还能正常的开发。局限性但是,随着系统业务的不断增长,代码量不断增加,我们维护创建的单体应用系统的性能和维护成本都会受到限制,限制了我们继续新增新业务的能力。单体应用发展趋势成功的应用有一个趋势,整个项目随着时间推移会变得越来越臃肿。而开发团队在每个迭代开发周期中都要实现更多的用户需求,这意味着需要添加许多行代码。当原来的单体引用运行维护几年之后,

2020-11-06 10:41:47 177

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除