美文网首页
java spring cloud 版 b2b2c 社交电商-高

java spring cloud 版 b2b2c 社交电商-高

作者: IT达人Q | 来源:发表于2019-07-15 09:44 被阅读0次

    电子商务平台源码请加企鹅求求:三五三六二四七二五九。一、 准备工作

    继续使用上一篇文章的工程,创建一个eureka-server工程,用作服务注册中心。Spring Cloud大型企业分布式微服务云架构源码请加一七九一七四三三八零

    在其pom.xml文件引入Eureka的起步依赖spring-cloud-starter-netflix- eureka-server,代码如下:

    <?xml version="1.0" encoding="UTF-8"?>
    <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
        xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
        <modelVersion>4.0.0</modelVersion>
     
        <groupId>com.forezp</groupId>
        <artifactId>config-server</artifactId>
        <version>0.0.1-SNAPSHOT</version>
        <packaging>jar</packaging>
     
        <name>config-server</name>
        <description>Demo project for Spring Boot</description>
     
        <parent>
            <groupId>com.forezp</groupId>
            <artifactId>sc-f-chapter7</artifactId>
            <version>0.0.1-SNAPSHOT</version>
        </parent>
     
        <dependencies>
            <dependency>
                <groupId>org.springframework.cloud</groupId>
                <artifactId>spring-cloud-starter-netflix-eureka-client</artifactId>
            </dependency>
            <dependency>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-starter-web</artifactId>
            </dependency>
            <dependency>
                <groupId>org.springframework.cloud</groupId>
                <artifactId>spring-cloud-config-server</artifactId>
            </dependency>
     
        </dependencies>
        <build>
            <plugins>
                <plugin>
                    <groupId>org.springframework.boot</groupId>
                    <artifactId>spring-boot-maven-plugin</artifactId>
                </plugin>
            </plugins>
        </build>
     
     
     
    </project>
    
    

    在配置文件application.yml上,指定服务端口为8889,加上作为服务注册中心的基本配置,代码如下:

    server:  port: 8889 
    eureka:  instance:   
     hostname: localhost  client:  
      registerWithEureka: false  
      fetchRegistry: false   
     serviceUrl:      defaultZone:
     http://${eureka.instance.hostname}:
    ${server.port}/
    eureka/
    

    入口类:

    @EnableEurekaServer
    @SpringBootApplication
    public class EurekaServerApplication {     
    public static void main(String[] args) {       
     SpringApplication.run(EurekaServerApplication.class, args); 
       }}
    

    二、改造config-server

    在其pom.xml文件加上EurekaClient的起步依赖spring-cloud-starter-netflix-eureka-client,代码如下:

    <dependencies>   
         <dependency>      
          <groupId>org.springframework.cloud</groupId>   
             <artifactId>spring-cloud-starter-netflix-eureka-client</artifactId>    
        </dependency>      
      <dependency>        
        <groupId>org.springframework.boot</groupId>   
             <artifactId>spring-boot-starter-web</artifactId>      
      </dependency>      
      <dependency>       
         <groupId>org.springframework.cloud</groupId>   
             <artifactId>spring-cloud-config-server</artifactId>  
          </dependency> 
        </dependencies>
    

    配置文件application.yml,指定服务注册地址为http: //local host: 8889/ eureka/,其他配置同上一篇文章,完整的配置如下:

    spring.application.name=config-serverserver.port=8888 spring.cloud.config.server.git.uri=https://github.com/forezp/SpringcloudConfig/spring.cloud.config.server.git.searchPaths=respospring.cloud.config.label=masterspring.cloud.config.server.git.username= your usernamespring.cloud.config.server.git.password= your passwordeureka.client.serviceUrl.defaultZone=http://localhost:8889/eureka/
    

    最后需要在程序的启动类Application加上@EnableEureka的注解。

    三、改造config-client

    将其注册微到服务注册中心,作为Eureka客户端,需要pom文件加上起步依赖spring-cloud-starter-netflix-eureka-client,代码如下:

    <dependencies> 
           <dependency>   
             <groupId>org.springframework.cloud</groupId>      
          <artifactId>spring-cloud-starter-config</artifactId>     
       </dependency>       
      <dependency>    
            <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-starter-web</artifactId>     
       </dependency>      
       <dependency>      
          <groupId>org.springframework.cloud</groupId>   
             <artifactId>spring-cloud-starter-netflix-eureka-client</artifactId>   
         </dependency> 
       </dependencies>
    

    配置文件bootstrap.properties,注意是bootstrap。加上服务注册地址为http: // localhost:8889/eureka/

    spring.application.name=config-clientspring.cloud.config.label=masterspring.cloud.config.profile=dev#spring.cloud.config.uri= http://localhost:8888/ eureka.client.serviceUrl.defaultZone=http://localhost:8889/eureka/spring.cloud.config.discovery.enabled=truespring.cloud.config.discovery.serviceId=config-serverserver.port=8881 
    

    spring.cloud.config.discovery.enabled 是从配置中心读取文件。

    spring.cloud.config.discovery.serviceId 配置中心的servieId,即服务名。

    这时发现,在读取配置文件不再写ip地址,而是服务名,这时如果配置服务部署多份,通过负载均衡,从而高可用。

    依次启动eureka-servr,config-server,config-client 访问网址:http: // localhost:8889/查看返回的结果说明高可用的效果达到了。

    相关文章

      网友评论

          本文标题:java spring cloud 版 b2b2c 社交电商-高

          本文链接:https://www.haomeiwen.com/subject/yhsgkctx.html