应无所住,而生其心
排名
1
文章
860
粉丝
112
评论
163
net core webapi post传递参数
庸人 : 确实坑哈,我也是下班好了好几次,发现后台传递对象是可以的,但...
百度编辑器自定义模板
庸人 : 我建议换个编辑器,因为现在百度富文本已经停止维护了,用tinymec...
ICP备案 :渝ICP备18016597号-1
网站信息:2018-2025TNBLOG.NET
技术交流:群号656732739
联系我们:contact@tnblog.net
公网安备:50010702506256
欢迎加群交流技术

微服务、分布式架构项目的一点点想法

5726人阅读 2019/6/15 13:20 总访问:5182934 评论:0 收藏:0 手机
分类: 微服务


分布式与微服务的区别:说一点个人理解

分布式:

               分散压力。

               不同功能块之间的通讯少,还是会有不少代码,每一块可能都会有重复的代码

               分布式我的理解就是分的颗粒更大一些,就像A厨师负责做一个菜,B厨师负责做另外一个菜一样,A厨师负责的菜他需要自己买菜洗菜炒菜等

微服务:

             分散能力。不同功能块之间通讯多,每一块完成自己独有的功能重代码少,但是如果一块很少的功能和处理都去调用接口的话,会比较影响处理的效率哇,不过没关系这些重复的代码都可以代码自动生成了

            类似一个厨师炒一个菜,比如这个厨师只负责炒菜,买菜,切菜,洗菜都是单独的一个人,或者几个人,如果有几个人就是集群的概念      

           微服务在于一个微字,分得比较细,分布式的话分得很大颗粒

           微服务其实和一个项目分层类似,一个项目分层是为了减少重复代码,模块能够重复利用,微服务其实也是一个道理,只是他是把一个模块  作为一个项目独立分出去


微服务项目中各个功能模块相互独立分散,耦合性很低,如何很好的统一调度,统一管理就是一个很重要的问题,

不要项目各个模块之间会很混乱


关于图片,样式,js等静态资源存储问题

在分布式架构中图片,样式,js等静态资源可以单独存储在一个地,而不是在每个项目中都去存储一份,

因为项目会有多个,如果存储在项目中不是很好的统一管理这些静态资源。也不好对这些静态资源对单独的

集群什么的。


缓存更新问题

在项目中我们如果使用了redis这类缓存,提高查询效率,同时也增加了项目的维护成本。我们修改或者添加了东西,

可能会去同步更新缓存,这个时候我们最好把同步更新缓存的单独提出来写,作为整体项目的一个服务来处理,这样

不同的项目模块就访问这个模块就好了,就会避免出现重复的代码。不然很多模块可能会需要处理缓存同步,就会

出现很多重复代码!其他模块访问更新缓存的服务器,可以使用消息队列来通讯。


为什么要使用配置中心

配置中心的好处就是可以独立开项目管理所有的配置,而且可以用一个项目来配置不是比修改配置文件来得更爽么

不然你做了分布式做了集群,或者使用docker部署了项目,你通过配置文件修改是很麻烦的,而且做了集群可能还要在几个地方重复的改

还能随时一目了然的看到配置的内容,以及历史记录等





欢迎加群讨论技术,1群:677373950(满了,可以加,但通过不了),2群:656732739。有需要软件开发,或者学习软件技术的朋友可以和我联系~(Q:815170684)

评价

分布式服务架构微服务架构概念的区别与联系

分布式:分散压力。微服务:分散能力。当下理解分布式:不同模块部署在不同服务器上作用:分布式解决网站高并发带来问题集...

分布式-微服务-集群的区别

1.分布式将一个大的系统划分为多个业务模块,业务模块分别部署到不同的机器上,各个业务模块之间通过接口进行数据交互。区...

Spring Cloud+.Net Core搭建微服务架构 一:服务注册

在微服务中,不同的业务被拆分成不同的服务,不同的服务之间会相互依赖,而管理这些服务就变得尤为重要搭建服务注册中心服...

说一点微服务项目的命名标准

名字取长一点感觉逼格都要高一些,当然主要不是为了逼格,而是所见即所得让代码说话,提高代码的可读性。还有就是标准,不...

Quartz.NET实例动态改变周期调度。misfireCron

Quartz:Java编写的开源的任务调度作业框架 类似Timer之类定时执行的功能,但是更强大Quartz.NET:是把Quartz转成C# NuGet...

.NET Windows服务发布安装卸载监听脚本。服务调试

一、脚本 为方便不用每次都去写安装卸载的脚本1.安装脚本@echooff @echo开始安装【服务】 %SystemRoot%\Microsoft.NET\Fr...

C ??? 问号和2个问号的用法(类型?对象?)

C# ?C# ???:单问号1.定义数据类型可为空。可用于对int,double,bool等无法直接赋值为null的数据类型进行null的赋值如这...

C outref关键字的用法和区别

说说自己对out、ref的认识,面试问到的几率很高哟。out:classProgram { /* *out、ref都是引用传递,传递后使用都会改变...

cVB.net中全角半角转换方法

///<summary> ///转全角的函数(SBCcase) ///</summary> ///<paramname="input">任意字符串...

redis中主从哨兵和集群这三个有什么区别

主从模式:备份数据、负载均衡,一个Master可以有多个Slaves。sentinel(哨兵)发现master挂了后,就会从slave中重新选举一个...

JS监听inputkeydown,有输入法时打字完成后触发事件

在给输入框绑定input或keydown事件时预期效果是有输入法时,输入中文后触发事件,不希望输一个字母就触发一次事件可以用到c...

下划线换行回车空格ASCII码值与对照表

下划线,ASCII码95换行 , ASCII码10回车 , ASCII码13空格 , ASCII码32ASCII码表:Bin(二进制)Oct(八进制)Dec(十进制)Hex(...

docker常用命令删除镜像命令进入容器docker重启命令等

1. docker version查看 Docker 版本信息2. docker info显示 Docker 系统信息,包括镜像,容器数等3. 运行容器第一次使用:d...

多线程Lock锁数据库实现队列

队列其元素以先进先出(Firstin,Firstout,FIFO)的方式来处理的集合。先放入队列中的元素会先读取。队列使用System.Collect...

jsJQuery获取文本的宽高

页面编写:<!DOCTYPEhtml> <html> <head> <metacharset="UTF-8"/> <title>jQ...