单体->集群->模块化->分布式微服务
开头语:
每篇一段开头语,在技术的道路中寻找文采的乐趣。(如果随笔中都是大白话勿喷,兄弟姐妹们)
单体项目
单体项目适用于小型开发,或自己来进行小项目的测试和使用。
单体项目的缺憾
- 多人开发项目所出现的冲突问题,pull代码所出现的覆盖问题。
- 代码的凌乱问题,新人根本无法快速熟悉代码,并且出现一种新人添加代码不敢乱动,修改点东西只能在上面狂增加判断,导致代码越来越恶心
- 代码的迭代就需要大型的重构之类,其中代码的修改交错,一眼望去,非死即残,产生打爆电脑的冲动
集群
- 集群的出现在于分担一服务器的压力。当一个服务器被击倒,立刻另一个服务器起身抗下担子,在前方英勇无比。集群的权重轮询什么的就不说了,在说有瞎bb的嫌疑了。
模块化
- 模块化的初衷就是将单体项目拆分,分为几个小模块,最后在进行拼接使用。
- 模块化每个模块可以放到不同的服务器中,就算服务器挂掉,此功能也不会产生任何的问题。当然也可以集群使用。只不过就是经常被点击访问的多放几个服务器进行集群操作,不太被访问的就扔单个服务器。
- 就好比电影一样,今天拍一点,我露个脸,明天露个点,最后电影出来,全程我主演。
分布式微服务
我个人理解,我觉得模块化就是单体项目慢慢的加集群拆分像微服务的转变。
- 模块化微服务为单个项目中拆分成小模块来使用,但是提交的时候却是一个项目提交。
- 而分布式微服务则是每个模块是一个单独的项目,比如springcloud想调用别的项目的功能,就是靠feign来进行调用另一个项目中controller中的功能。每一个提交都是单独项目的提交。
还有这个微服务和分布式的区别,我个人觉得,区别仅仅是分布式取消了自己写的熔断网关负载之类的措施,而整合起来来进行更简便的使用。
结语
如果理解有问题的话,希望有兄弟可以稍微引导下,哪怕一丢丢,感激不尽。
单体->集群->模块化->分布式微服务的更多相关文章
- 推荐一款分布式微服务框架 Surging
surging surging 是一个分布式微服务框架,提供高性能RPC远程服务调用,采用Zookeeper.Consul作为surging服务的注册中心,集成了哈希,随机,轮询,压力最小优先作为 ...
- 基于docker 如何部署surging分布式微服务引擎
1.前言 转眼间surging 开源已经有1年了,经过1年的打磨,surging已从最初在window 部署的分布式微服务框架,到现在的可以在docker部署利用rancher 进行服务编排的分布式微 ...
- Dapeng框架-开源高性能分布式微服务框架
我们公司性质是新零售,公司也有专门的框架组.这群大牛自己开发了一整套分布式微服务框架.我们也在使用这套框架,有很多心得体会. 该框架既Dapeng也!开源github地址:https://github ...
- Train-Alypay-Cloud:分布式微服务中间件sofa 开发培训(第二次)
ylbtech-Train-Alypay-Cloud:分布式微服务中间件sofa 开发培训(第二次) 1.返回顶部 1. 这是本次培训的内容,望各位提前配好环境.工具.2.6-2.7 我们在环球金融8 ...
- Surging 分布式微服务框架使用入门
原文:Surging 分布式微服务框架使用入门 前言 本文非 Surging 官方教程,只是自己学习的总结.如有哪里不对,还望指正. 我对 surging 的看法 我目前所在的公司采用架构就是类似与S ...
- [转载]Surging 分布式微服务框架使用入门
前言 本文非 Surging 官方教程,只是自己学习的总结.如有哪里不对,还望指正. 我对 surging 的看法 我目前所在的公司采用架构就是类似与Surging的RPC框架,在.NET 4.0框架 ...
- 整合SPRING CLOUD云服务架构 - 企业分布式微服务云架构构建
整合SPRING CLOUD云服务架构 - 企业分布式微服务云架构构建 1. 介绍 Commonservice-system是一个大型分布式.微服务.面向企业的JavaEE体系快速研发平台,基于模 ...
- 如何使用Istio 1.6管理多集群中的微服务?
假如你正在一家典型的企业里工作,需要与多个团队一起工作,并为客户提供一个独立的软件,组成一个应用程序.你的团队遵循微服务架构,并拥有由多个Kubernetes集群组成的广泛基础设施. 由于微服务分布在 ...
- Linux集群配置ntp时间同步服务
集群中时间不同步有可能会让大数据的应用程序运行混乱,造成不可预知的问题,比如Hbase,当时间差别过大时就会挂掉,所以在大数据集群中,ntp服务,应该作为一种基础的服务,以下在演示在CentOS 7. ...
随机推荐
- 【Kubernetes学习笔记】-使用Minikube快速部署K8S单机学习环境
介绍 https://minikube.sigs.k8s.io/docs/ Minikube 用于快速在本地搭建 Kubernetes 单节点集群环境,它对硬件资源没有太高的要求,方便开发人员学习试用 ...
- Spring Cloud 纯干货,从入门到实战
导读 之前写过一篇SpringCloud从入门到精通的点我直达,微服务基础知识点我直达,今天我们使用Spring Cloud模拟一个电商项目.分别有以下2个服务,商品.订单.下面我们开始叭 技术栈 S ...
- Spring Security 实战干货:客户端OAuth2授权请求的入口
1. 前言 在Spring Security 实战干货:OAuth2第三方授权初体验一文中我先对OAuth2.0涉及的一些常用概念进行介绍,然后直接通过一个DEMO来让大家切身感受了OAuth2.0第 ...
- 【SpringBoot】15. Spring Boot核心注解
Spring Boot核心注解 1 @SpringBootApplication 代表是Spring Boot启动的类 2 @SpringBootConfiguration 通过bean对象来获取配置 ...
- 【SpringBoot】11.Springboot整合SpringMVC+Mybatis(上)
Springboot整合SpringMVC+Mybatis 需求分析:通过使用Springboot+SpringMVC+Mybatis 整合实现一个对数据库表users表的CRUD操作. 1.创建项目 ...
- 转载:Pycharm的常用快捷键
一直想着找一下pycharm的快捷键,但是每次都忘记找了,这次刚好碰到一个很全的,就直接借用别人的来当作自己的笔记ba 转载来源:https://www.cnblogs.com/liangmingsh ...
- 快速了解阿里微服务热门开源分布式事务框架——Seata
一.Seata 概述 Seata 是 Simple Extensible Autonomous Transaction Architecture 的简写,由 feascar 改名而来. Seata 是 ...
- 基于gin的golang web开发:mysql增删改查
Go语言访问mysql数据库需要用到标准库database/sql和mysql的驱动.标准库的Api使用比较繁琐这里再引入另一个库github.com/jmoiron/sqlx. go get git ...
- Vue常用性能优化
Vue常用性能优化 Vue常用的一些优化方式,主要是在构建项目过程需要注意的方面. 编码优化 避免响应所有数据 不要将所有的数据都放到data中,data中的数据都会增加getter和setter,并 ...
- [MIT6.006] 13. Breadth-First Search (BFS) 广度优先搜索
一.图 在正式进入广度优先搜索的学习前,先了解下图: 图分为有向图和无向图,由点vertices和边edges构成.图有很多应用,例如:网页爬取,社交网络,网络传播,垃圾回收,模型检查,数学推断检查和 ...