-
spring cloud的大致原理
一个简单的spring cloud项目至少需要3个Maven项目,这里的项目可以称之为服务,只不过是需要创建至少3个Maven项目而已。
首先,需要创建一个服务器,服务器中有各种各样的服务,则第二个创建的Maven项目就是一个spring cloud中的一个eureka服务。有了服务器,有了服务,第三个Maven项目就是一个客户端,客户端通过设置的id去服务器寻找服务,然后执行服务中的代码逻辑。这样,就把每一个操作都细化分成了许许多多个服务,用户需要用到哪种操作,就直接通过该服务的id去寻找该服务执行即可。
在以前的都是单体项目,一旦其中一个地方出错,或者一个操作的内存溢出,整个程序就跑步起来了。而spring cloud则是将每个操作细化成一个服务,就算其中一个服务出错,也不会影响整个程序的运行。
-
构建一个服务器
- 首先,在pom.xml文件中加入spring cloud的服务器依赖
- 编写一个启动类
- 一个eureka服务器在创建的时候,会把自己当做是一个客户端去服务器进行注册并去获取注册信息,其自己本身就是一个服务器,所以需要在配置文件中将这两个默认值改为false
- 启动启动类,通过访问显示以下页面,则表示服务器创建成功。
-
创建一个服务并在服务器中进行注册
- 在pom.xml文件中加入服务的依赖
- 编写启动类,其中@EnableEurekaClient作用是声明这是一个eureka客户端
- 编写一个controller类,controller中编写的是这个服务所进行的相关操作,我这里就写了一个简单的输出语句。需要注意的是,启动类的级别一定要高于Controller,不然通过‘/call’访问的则会是spring-boot的错误页面。
- 编写配置文件,在服务器中进行注册。其中name值就是所谓的服务id,客户端通过该id来访问该服务。
- 先启动服务器的启动类,再启动编写的服务的启动类,显示以下页面则表示成功
-
创建一个客户端
- 在pom.xml文件中加入一个客户端的依赖
- 编写一个启动类
- 编写一个controller。其中getForObject()方法中的url为http://服务id(就是之前的name值)/服务中的Mapping。
- 编写配置文件,在服务器中对该客户端进行注册
- 先启动服务器,在启动服务,最后启动客户端,之后直接通过访问客户端中的Mapping路径,则会自己通过服务id去服务器中寻找服务。以上,就是一个简单的spring cloud 项目。