springCloud微服务简单框架搭建

什么是SpringCloud

SpringCloud是基于SpringBoot的一整套实现微服务的框架。他提供了微服务开发所需的配置管理、服务发现、断路器、智能路由、微代理、控制总线、全局锁、决策竞选、分布式会话和集群状态管理等组件。最重要的是,跟spring boot框架一起使用的话,会让你开发微服务架构的云服务非常好的方便。

springCloud的框架搭建

创建一个父工程

我们是用maven来创建项目,创建项目所用的module都应该一样,其他的工程应该继承这个父工程;故只需要写一个pom文件即可。

创建一个maven工程以此工程为父工程其他的工程继承此工程;写破门文件。
1、pom文件



    4.0.0
    
    
        org.springframework.boot
        spring-boot-starter-parent
        2.1.5.RELEASE
         
    
    
    com.zhiyou100
    server-parent
    0.0.1-SNAPSHOT
    server-parent
    父工程用来定义版本号
    
    
        UTF-8
        UTF-8
        1.8
        
        Greenwich.RELEASE
    

    
        
            org.springframework.boot
            spring-boot-starter-test
            test
        
    

    
        
            
            
                org.springframework.cloud
                spring-cloud-dependencies
                ${spring-cloud.version}
                pom
                import
            
        
    

    
        
            
                org.springframework.boot
                spring-boot-maven-plugin
            
        
    

创建服务注册中心,他的作用是对创建的所有子系统进行管理

在同级目录下创建一个maven
springCloud微服务简单框架搭建_第1张图片
导入pom文件



    4.0.0
    
    
        com.zhiyou100
        server-parent
        0.0.1-SNAPSHOT

    
    com.zhiyou100
    server-erueka
    0.0.1-SNAPSHOT
    server-erueka
    Demo project for Spring Boot
    
    
        
            org.springframework.cloud
            spring-cloud-starter-netflix-eureka-server
        
    


在主类上添加注解@EnableEurekaServer

再然后就是书写配置文件

#端口
server.port=8000
#应用在服务注册中心的名字
spring.application.name=eureka-server

#将该服务安装到本地--》localhost代表本机
eureka.instance.hostname=localhost
#r是否将自己注册到服务注册中心
eureka.client.register-with-eureka=false
#fetchRegistry表示是否从eureka服务器获取注册信息。
eureka.client.fetch-registry=false
#其他服务访问该服务的路径,服务注册到服务注册中心使用的路径http://localhost:8000/eureka/
eureka.client.service-url.defaultZone=http://${eureka.instance.hostname}:${server.port}/eureka/

启动服务配置中心输入主机与端口号验证http://localhost:8000/;在运行之前删除
测试test文件夹,如果不删除就导入test的依赖;此工程未导入依赖。
springCloud微服务简单框架搭建_第2张图片
创建服务的提供者:创建一个maven注册到服务中心中,在配置文件中的spring.application.name配置就是为了方便消费者通过服务中心调用。
创建maven导入pom文件



    4.0.0
    
    
        com.zhiyou100
        server-parent
        0.0.1-SNAPSHOT
    
    com.zhiyou100
    server-hello
    0.0.1-SNAPSHOT
    server-hello
    服务的提供者,返回hello你好
    
        
        
            org.springframework.cloud
            spring-cloud-starter-netflix-eureka-client
        
        
        
            org.springframework.boot
            spring-boot-starter-web
        
    


导入配置文件

#端口
server.port=8001
#在服务注册中心中的名字,就是通过这个名字调用服务
spring.application.name=server-hello
#提交到这个注册中心
eureka.client.service-url.defaultZone=http://localhost:8000/eureka/

在主类上添加注解@EnableEurekaClient
写返回数据服务
springCloud微服务简单框架搭建_第3张图片
服务的消费者:他调用服务层
消费层有两种书写方法分别为rebbion和feign
导入pom文件



    4.0.0
    
        com.zhiyou100
        server-parent
        0.0.1-SNAPSHOT
    
    com.zhiyou100
    server-rebbion
    0.0.1-SNAPSHOT
    server-rebbion
    Demo project for Spring Boot

    
        
        
            org.springframework.cloud
            spring-cloud-starter-netflix-eureka-client
        
        
        
            org.springframework.boot
            spring-boot-starter-web
        
        
        
            org.springframework.cloud
            spring-cloud-starter-netflix-ribbon
        
    

导入配置文件

#端口
server.port=8010
#spring.application.name非常重要,服务直接的调用是根据这个name值来相互调用的
spring.application.name=server-ribbon

#提交到这个注册中心
eureka.client.service-url.defaultZone=http://localhost:8000/eureka/

书写配置类
创建RestTemplate对象
springCloud微服务简单框架搭建_第4张图片
主类
写@EnableEurekaClient注解
创建service
使用RestTemplate调用server-hello服务,不写接口,直接写实现类
springCloud微服务简单框架搭建_第5张图片
创建Controller调用service即可
springCloud微服务简单框架搭建_第6张图片
在启动时注意先后顺序
先启动服务注册中心,启动服务提供者,消费者。

你可能感兴趣的:(spring之家)