什么是微服务
微服务(microservice)是一种软件架构,正得到越来越多的关注。
但是,它到底是什么意思?什么样的架构可以叫做微服务?
网上的文章虽然很多,但是都太复杂,初学者不容易看懂。我认为,这个概念其实非常简单,可以很通俗地说明白。
一、单体软件要理解微服务,首先需要理解软件架构的演变。
早期的软件,所有功能都写在一起,这称为单体架构(monolithic software)。
整个软件就是单一的整体,彷佛一体化的机器。
可以想到,软件的功能越多,单体架构就会越复杂,很多缺点也随之暴露出来。
(1)所有功能耦合在一起,互相影响,最终难以管理。
(2)哪怕只修改一行代码,整个软件就要重新构建和部署,成本非常高。
(3)因为软件做成了一个整体,不可能每个功能单独开发和测试,只能整体开发和测试,导致必须采用瀑布式开发模型。
正因为诸如此类的原因,总之,单体架构的大型软件,不仅开发速度慢,而且会形成难以维护和升级的复杂代码,成为程序员的沉重负担。
二、面向服务架构为了解决上面这些问题,很早就有人提出来,必须打破代码的耦合,拆分单体架构,将软件拆分成一个个独立的功能单元。
大概在20多年 ...
关于环境变量
环境变量环境变量是每个程序员,或者说每个软件开发人员所绕不开的东西,那么环境变量到底是什么?为什么要进行配置?又应该如何配置呢?
什么是环境变量?简单来说环境变量就是在操作系统中的一组键值对(key-value),其中每个键都必须要有一个相关联的值。它可以由操作系统,应用程序创建和管理,也可以由用户自己手动设置和修改。主要就是用来指定和存储操作系统和应用程序需要的一些常量和配置信息,如:临时文件夹位置和系统文件夹位置等
大家都知道,我们用户都是通过操作系统操作计算机。而在操作系统中,我们想运行某个程序,首先得先进入到对应的文件目录中,或者要指定程序所在的位置
比如说,在桌面上的程序,其实是一个快捷方式,这个快捷方式指定了程序所在的真实位置:
而如果在没有A程序的文件目录下运行A程序,就会提示:
而很多时候我们想要在其它目录下运行某个程序,如果每次都要去手动指定程序的目录,或者切换到指定目录,那么就会特别麻烦,而这个时候环境变量的作用就显现出来了。因为运行一个程序,操作系统不仅会在当前目录中去寻找,还会在环境变量PATH中去找。如果在PATH中配置了指定的路径,那么在别的路径下运行程 ...
test2
testtest
test
testtest