精华内容
下载资源
问答
  • 前言:本文为使用 Spring Cloud 搭建微服务项目架构的整体思路讲述,欢迎讨论。文章对新手不友好,推荐新手访问此文:史上最简单的 SpringCloud 教程 | 终章,讲得很好。1、微服务的定义微服务的通俗定义就是一个...

    前言:

    本文为使用 Spring Cloud 搭建微服务项目架构的整体思路讲述,欢迎讨论。文章对新手不友好,推荐新手访问此文:史上最简单的 SpringCloud 教程 | 终章,讲得很好。

    1、微服务的定义

    微服务的通俗定义就是一个小型的项目服务,但是写文章则需要有明确的定义才行。文绉绉的描述语言大概如下:

    一个能够独立运行的、可提供完整服务的微型服务。

    这里面是三个条件:独立运行、可提供完整服务、微型。

    独立运行则意味着跟其他服务完全解耦,如果服务之间存在业务关联,要么把他们并为一个微服务,要么通过接口进行交互。这也意味着,不同微服务之间如果涉及到数据库操作的话,一个微服务不可以直接操作属于另一个微服务的库表,即使他们的表放在同一个库。因为这种行为一旦发生,那么这两个微服务又出现了新的耦合维度。

    可提供完整服务则意味着其他与之无关的微服务即使挂掉,它自己通过接口提供的服务也不受任何影响,除非他们之间存在接口互动上的关联,那样也只影响到有关联的。

    微型则表示每个微服务都不会有太多的接口,否则就变成了传统的项目了。

    任何满足以上三个条件的服务,我都认为是一个微服务了——所以,微服务是一个概念,而不是一种技术。不管使用何种技术、何种框架、何种方式进行搭建。

    2、微服务的好处

    微服务的好处主要有:敏捷开发、选择性扩容等

    使用微服务架构的项目,因为微服务之间完全解耦,所以可实现敏捷开发;同时也可以根据微服务的并发量进行选择性扩容或集群等。

    3、为什么要用 Spring Cloud

    Spring Cloud 推荐了很多微服务的解决方案,使用 Spring Cloud 可快速搭建微服务架构,并且背靠 Spring 社区的良好生态。

    4、使用 Spring Cloud 搭建微服务的思路

    首先需要一个注册服务的注册中心,可选择zookeeper、eureka。

    其他的微服务都在自己搭建的注册中心注册,通过ribbon+resttemplate进行通信,这时url不需要使用完整的ip+port的方式,而是使用微服务在注册中心注册时提供的名称即可。只用注册名而非ip+port的方式进行通信还有一个好处,就是可以实现集群:同一个微服务部署多份,不管ip和port相差多远,注册中心都会调度微服务的集群,起到负载均衡的效果。

    还有使用feign可达到类RPC的接口调用效果。

    微服务提供接口给外部访问时,不能像微服务间通信一样使用注册名通信那么方便,还是需要ip+port才能访问到:这样对接口使用方来说时非常麻烦的事。这时可通过配置统一网关,让使用方通过网关再转发到对应的微服务即可。这样,多个微服务及集群的情况,对于调用方来说都是透明的,用户感知就是调用了某个接口,而不是特定的某个微服务。

    统一网关可使用zuul来配置。

    这样,就基本完成了一个微服务的搭建,不使用框架的话,搭建微服务需要解决的问题颇多,不建议自己造轮子。

    展开全文
  • 搭建微服务项目.doc

    2020-03-13 15:29:51
    搭建微服务项目(eureka、Feign、公共模块),搭建eureka、服务消费者、服务提供者、基础框架
  • SpringCloud搭建微服务架构 SpringBoot 版本1.5.6.RELEASE Dalston.SR3  与时俱进,一起学习进步。 经过几天学习实践整理,已经完成SpringCloud 注册中心 、SpringCloud Config配置中心 搭建。
  • 让微服务成为了现在大型企业项目的首选技术,今天给大家讲解一下,搭建微服务项目的基础技术springboot,按下列操作任何人都可以搭建属于自己的一个微服务基础平台。springbootSpring boot的优点轻松创建独立的...

    随着企业对大型项目的开发,部署,性能,要求越来越高,最近2年引入的微服务的概念,以及spring cloud实现。让微服务成为了现在大型企业项目的首选技术,今天给大家讲解一下,搭建微服务项目的基础技术springboot,按下列操作任何人都可以搭建属于自己的一个微服务基础平台。

    springboot

    Spring boot的优点

    轻松创建独立的Spring应用程序。

    内嵌Tomcat、jetty等web容器,不需要部署WAR文件。

    提供一系列的“starter” 来简化的Maven配置。

    开箱即用,尽可能自动配置Spring。

    spring boot 快速入门

    通过构建简单的REST应用,了解spring boot的开发基本流程,验证其简单、易用特性。

    环境要求

    Spring Boot 2.0.0.BUILD-SNAPSHOT 要求 Java 8 和 Spring Framework 5.0.2以上,Maven 3.2 以上或者Gradle 4。

    本文使用 Spring Boot 1.5.9 、 Java8 和 Spring Framework 5.0.2.RELEASE以上,Maven 3.2。开发工具使用sping官方提供的spring suit tool 3.9.1(STS)。

    创建项目

    在STS中,通过NEW->Spring starter project创建spring boot 项目。

    420586460ef90e285602e816c584eb12.png

    输入maven的group 和artifact。

    98e231d42f0eb00a5b9911e5d86d0498.png

    选择spring boot版本和starter

    1e10ad79db53c02cfd204f7adaa0a3b6.png

    点击下一步,进入如下界面。

    选择spring boot的版本,这里选择1.5.9 版本。

    选择starter,通过搜索找到web 并勾选。点击完成。

    4df325e3aaa550d98f725e2260feda8e.png

    创建项目的结构

    点击finish 按钮。创建项目如下:

    48dc84fdfe7c17057e6750cb75203454.png

    目录结构如图。

    Src/main/java。编写代码存放的目录。自动生成了程序入口代码 SpringBootDemo1Application.java。

    Src/main/resources。资源文件存放目录。自动生成了配置文件 application.properties

    Src/test/java。测试代码存放目录。自动生成了测试代码SpringBootDemo1ApplicationTests.java

    POM文件说明

    spring boot项目默认使用maven来构建,生成的POM文件如下:

    xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">

    4.0.0

    com.yuny

    demo1

    0.0.1-SNAPSHOT

    jar

    spring-boot-demo1

    Demo project for Spring Boot

    org.springframework.boot

    spring-boot-starter-parent

    1.5.9.RELEASE

    UTF-8

    UTF-8

    1.8

    org.springframework.boot

    spring-boot-starter-web

    org.springframework.boot

    spring-boot-starter-test

    test

    org.springframework.boot

    spring-boot-maven-plugin

    其中,

    设置spring-boot-starter-parent为父亲项目

    这种方式可以比较容易的使用父项目中的starters的依赖。 当然也可以不用继承spring-boot-starter-parent为父亲,这种方式在以后我们会介绍。

    org.springframework.boot

    spring-boot-starter-parent

    1.5.9.RELEASE

    引入web依赖

    Web starter依赖引入,会增加web容器、springweb、springmvc、jackson-databind等相关的依赖。

    org.springframework.boot

    spring-boot-starter-web

    依赖层级关系如图

    561ba51685d8673806cda9d2852e363b.png

    引入测试依赖

    org.springframework.boot

    spring-boot-starter-test

    test

    启动程序SpringBootDemo1Application 说明

    我们通过此类的main函数来启动spring boot程序。

    启动程序SpringBootDemo1Application是自动生成的,代码如下:

    ae7850298d9286e836a9762212164d01.gif

    @SpringBootApplication

    public class SpringBootDemo1Application {

    public static void main(String[] args) {

    SpringApplication.run(SpringBootDemo1Application.class, args);

    }

    }

    ae7850298d9286e836a9762212164d01.gif

    其中是@SpringBootApplication组合注解,兼备了@EnableAutoConfiguration和@ComponentScan 注解的功能。

    增加一个controller

    在包com.yuny.demo1.controller下面增加类SampleController

    7@RestController

    public class SampleController {

    @RequestMapping("/")

    String home() {

    return "Hello World!";

    }

    }

    运行启动程序后,访问http://localhost:8080/就可以访问这个controller的功能了。

    启动很简单,直接选择SpringBootDemo1Application.java文件,使用java application方式运行即可:

    4ccfe2f59b6cd12698278427c182c9b5.png

    访问效果:

    77ebb78613c33075588aa915932f64db.png

    测试

    增加一个测试类

    22mport static org.hamcrest.CoreMatchers.equalTo;

    import static org.springframework.test.web.servlet.result.MockMvcResultMatchers.content;

    import static org.springframework.test.web.servlet.result.MockMvcResultMatchers.status;

    @RunWith(SpringJUnit4ClassRunner.class)

    @SpringBootTest(classes = MockServletContext.class)

    @WebAppConfiguration

    public class SampleControllerTest {

    private MockMvc mock;

    @Before

    public void setUp() throws Exception {

    mock = MockMvcBuilders.standaloneSetup(new SampleController()).build();

    }

    @Test

    public void testHome() throws Exception {

    mock.perform(MockMvcRequestBuilders.get("/").accept(MediaType.APPLICATION_JSON))

    .andExpect(status().isOk())

    .andExpect(content().string(equalTo("Hello World!")));

    }

    }

    !

    展开全文
  • sping cloud 搭建 微服务

    2021-03-21 18:54:34
    sping cloud 搭建 微服务 微服务定义 微服务就是将一个单独的应用拆分为一个一个的服务,每一个服务都是提供特定的功能,一个服务只做一件事,类似进程,每个服务都能够单独部署,甚至可以拥有自己的数据库。这样的一...

    sping cloud 搭建 微服务

    微服务定义

    微服务就是将一个单独的应用拆分为一个一个的服务,每一个服务都是提供特定的功能,一个服务只做一件事,类似进程,每个服务都能够单独部署,甚至可以拥有自己的数据库。这样的一个一个的小服务就是微服务
    在这里插入图片描述

    微服务架构

    优点:

    • 单独任务或小块业务逻辑
    • 总是松耦合
    • 小型、专注于功能交叉团队
    • 着重分散管理
    • 前后段分离
    • 一个服务可用拥有自己的数据库

    缺点:

    • 增加了运维人员的工作量
    • 微服务过多,服务治理成本高,不利于系统维护。
    • 分布式系统开发的技术成本高
    • 系能监控等

    spring cloud

    spring cloud 提供一些工具迅速构建一些常用模式的分布式系统(例如 配置管理,服务发现,断路器,路由,微代理,控制总线,token,全局锁,分布式sessions,cluster state),使用Spring Cloud开发人员可以快速站出实现这些模式的服务和应用程序。

    sping cloud 搭建 微服务

    1. 首先创建一个空的maven项目
      在这里插入图片描述
      2.在新项目中建立module模块
      在这里插入图片描述

    3.module按公共区和独立区划分,建立各自的module,其余module在配置maven配置中注入公共module。
    在各module中的spring加入name,定义各自模块的名字

    spring:
      application:
        name: shop-user
    

    Feign消费

    feign消费是通过注解的方式进行的消费模式,它默认打开了负载均衡

    4.导入引用包后,在各module的主配置类上添加@EnableDiscoveryClient,@EnableFeignClients。
    用于注册和发现服务。
    在这里插入图片描述
    5.在有需要用到其他module的方法的模块中,书写新的service接口
    在这里插入图片描述
    6.@Resource 直接导入本模块中定义的新service,调用方法执行别的模块的方法

    展开全文
  • 微服务注册中心搭建 微服务注册中心的作用就是用于统一管理微服务实例,微服务间的调用只需要知道对方的服务名,而无需关注具体的IP和端口,便于微服务架构的拓展和维护。 因为Eureka较为简单,无须启动第三方服务,...

    微服务注册中心搭建

    微服务注册中心的作用就是用于统一管理微服务实例,微服务间的调用只需要知道对方的服务名,而无需关注具体的IP和端口,便于微服务架构的拓展和维护。
    因为Eureka较为简单,无须启动第三方服务,只需要引入相关依赖即可,所以先使用Eureka构建微服务注册中心(Eureka服务端)。

    创建微服务注册中心子项目

    File==>新建==>Other==>搜索Maven,选择Maven Module,然后Next
    在这里插入图片描述
    填写Module Name:elsa-register,点击Next
    在这里插入图片描述
    一直Next至FInish为止,创建完成,项目结构如下
    在这里插入图片描述

    添加Eureka注册中心依赖

    <?xml version="1.0"?>
    <project
    	xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"
    	xmlns="http://maven.apache.org/POM/4.0.0"
    	xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
    	<modelVersion>4.0.0</modelVersion>
    	<parent>
    		<groupId>com.elsa</groupId>
    		<artifactId>elsa-cloud</artifactId>
    		<version>1.0-SNAPSHOT</version>
    	</parent>
    	<artifactId>elsa-register</artifactId>
    	<name>elsa-register</name>
    	<description>Elsa-Cloud服务注册中心</description>
    	<url>http://maven.apache.org</url>
    	<dependencies>
    		<!-- Eureka -->
    		<dependency>
    			<groupId>org.springframework.cloud</groupId>
    			<artifactId>spring-cloud-starter-netflix-eureka-server</artifactId>
    		</dependency>
    		<!-- security -->
    		<dependency>
    		    <groupId>org.springframework.cloud</groupId>
    		    <artifactId>spring-cloud-starter-security</artifactId>
    		</dependency>		
    	</dependencies>
    
    	<build>
    		<plugins>
    			<plugin>
    				<groupId>org.springframework.boot</groupId>
    				<artifactId>spring-boot-maven-plugin</artifactId>
    			</plugin>
    		</plugins>
    	</build>
    </project>
    
    

    这里注意下,因为上面我们是通过添加Maven Modules方式添加的子项目,所以在父模块中会自动添加子项目依赖。
    在这里插入图片描述
    如果不是通过添加子项目添加的,请在父模块elsa-cloud依赖中添加。

    开启Eureka注册中心服务端功能

    打开elsa-register的入口类ElsaRegisterApp,在类上使用@EnableEurekaServer标注,用以开启Eureka服务端功能:

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

    注册中心Eureka相关配置

    开始编写项目配置文件,采用yml格式的配置,在resources目录下创建名为application.yml,配置内容如下:

    server:
      port: 8001
      servlet:
        context-path: /register
    
    spring:
      application:
        name: Elsa-Register
    eureka:
      instance:
        hostname: localhost
      client:
        register-with-eureka: false
        fetch-registry: false
        instance-info-replication-interval-seconds: 30
        serviceUrl:
          defaultZone: http://${eureka.instance.hostname}:${server.port}${server.servlet.context-path}/eureka/
    

    项目的端口号为8001(约定配置),context-path为/register,剩下的配置含义如下:

    spring.application.name,定义服务名称为Elsa-Register;

    eureka.instance.hostname,指定了Eureka服务端的地址,因为我们是在本地搭建的,所以填写为localhost即可;

    eureka.client.register-with-eureka,表示是否将服务注册到Eureka服务端,由于我们这里是单节点的Eureka服务端,所以这里指定false;

    eureka.client.fetch-registry,表示是否从Eureka服务端获取服务信息,因为这里是单节点的Eureka服务端,并不需要从别的Eureka服务端同步服务信息,所以这里设置为false;

    eureka.client.instance-info-replication-interval-seconds,微服务更新实例信息的变化到Eureka服务端的间隔时间,单位为秒,这里指定为30秒(这就是微服务启动后,要过一会才能注册到Eureka服务端的原因)。

    eureka.client.serviceUrl.defaultZone,指定Eureka服务端的地址,这里为当前项目地址,即 http://localhost:8001/register/eureka/
    至此,一个简单的微服务注册中心搭建好了,我们运行入口类ElsaRegisterApp的main方法启动项目。
    在这里插入图片描述
    由于要搭建的微服务模块较多,所以为了在项目启动的时候更直观的区分开当前启动的是哪个微服务模块,我们可以自定义一个启动banner。在resources目录下新建一个banner.txt文件,文件内容如下所示:

    |-------------------------------------------------------|
    |    _______   ___       ________  ________     	|
    |   |\  ___ \ |\  \     |\   ____\|\   __  \   		| 
    |   \ \   __/|\ \  \    \ \  \___|\ \  \|\  \  		| 
    |    \ \  \_|/_\ \  \    \ \_____  \ \   __  \ 		| 
    |     \ \  \_|\ \ \  \____\|____|\  \ \  \ \  \ 	|
    |      \ \_______\ \_______\____\_\  \ \__\ \__\	|
    |       \|_______|\|_______|\_________\|__|\|__|	|
    |                          \|_________|         	|
    |    ${spring.application.name}					|
    |    Spring-Boot: ${spring-boot.version}				|
    |-------------------------------------------------------|
    

    启动后访问 http://localhost:8001/register/,出现Eureka页面说明微服务注册中心搭建成功,目前还没有微服务实例注册进来,所以列表是空的。
    在这里插入图片描述

    微服务注册中心防护

    目前Eureka服务端是“裸奔着”的,只要知道了Eureka服务端的地址后便可以将微服务注册进来,我们可以引入spring-cloud-starter-security来保护Eureka服务端。

    Security防护依赖

    在elsa-register模块的pom文件中添加如下依赖:

    <dependency>
        <groupId>org.springframework.cloud</groupId>
        <artifactId>spring-cloud-starter-security</artifactId>
    </dependency>
    

    Security安全配置类

    在com.elsa.register路径下新建configure包,然后在configure包下新建ElsaRegisterWebSecurityConfigure配置类,该配置类用于开启Eureka服务端端点保护。

    @EnableWebSecurity
    public class ElsaRegisterWebSecurityConfigure extends WebSecurityConfigurerAdapter {
        @Override
        protected void configure(HttpSecurity http) throws Exception {
            http.csrf().ignoringAntMatchers("/eureka/**");
            super.configure(http);
        }
    }
    

    配置访问Eureka服务用户名及密码

    配置访问Eureka服务的受保护资源所需的用户名和密码

    在application.yml中配置访问Eureka服务的受保护资源所需的用户名和密码:

    spring:
      # 配置访问Eureka服务的受保护资源所需的用户名和密码
      security:
        user:
          name: elsa
          password: 123456
    
    eureka.client.serviceUrl.defaultZone路径配置账号密码
    eureka:
      client:
        serviceUrl:
          defaultZone: http://${spring.security.user.name}:${spring.security.user.password}@${eureka.instance.hostname}:${server.port}${server.servlet.context-path}/eureka/
    

    重新启动Elsa-Register项目,访问http://localhost:8001/register/发现已经需要账号密码才可访问。输入我们在配置文件中配置的账号密码:elsa和123456,可正常访问微服务注册列表。
    在这里插入图片描述

    源码下载

    源码地址:微服务注册中心

    展开全文
  • 【微服务】使用spring cloud搭建微服务框架 https://www.cnblogs.com/ztfjs/p/9230374.html
  • SpringBoot是为了简化Spring应用的创建、运行、调试、部署等而出现的,使用它可以做到专注于Spring应用的开发,而无需过多关注XML...本文重点给大家介绍Spring Boot 快速搭建微服务框架详细教程,需要的的朋友参考下吧
  • 应用程序的演变,使用.NetCore 3.X快速搭建最简微服务架构,并针对api网关,和搭建微服务的一些工具做了简单的介绍。内附.netcore微服务源码。
  • 搭建微服务考虑因素

    2019-08-01 09:21:00
    搭建微服务考虑因素说明考虑因素 说明           最近将公司一Spring MVC单体项目,重构成基于Spring Boot/Cloud 的微服务项目。中途遇到了很多坑,也有很多因素在...
  • 使用maven搭建微服务项目 如图为基于maven搭建的 微服务springboot多模块项目经典模式图 图中,“父模块”聚合了多个子模块,包括api、model、及server模块(当然在实际项目中可以有更多的模块,而且模块的命名可以...
  • springcloud-搭建微服务(聚合工程) 这种方式是写死的不是太好,如果提供方宕机获取我们需要配置集群的时候,这样的话就不好弄了。请参考eureka跟牛逼的技术。本机的参考代码。
  • 本课程主要内容是介绍如何使用SpringCloud+Consul+Docker相关技术快速搭建微服务架构: 1、SpringCloud技术栈:统一路由(Zuul)、链路日志跟踪(Sleuth+Zipkin+MQ+ES)、负载均衡(Ribbon)、断路器(Hystrix)、防...
  • 给这篇文章5分钟,你将学习到为什么需要微服务架构?微服务架构的技术选型,以及这套教程简单的背景。为什么是微服务?从2015年5月微服务概念被提出以来,微服务已经发展了6年,6年里大浪淘沙,微服务最终经受住了...
  • 关于搜索,会将其独立成一个微服务。任务量比较大,估计要花个几天的时间。首先简单地说明一下这几天需要完成的任务:现在随便去电商网站搜索大致都会出现如下页面:当然上述页面都是假数据,真的数据需要从数据库中...
  • 搭建微服务学习--eureka为什么搭建一、搭建eureka配置application.yml在启动类添加@EnableEurekaServer验证 为什么搭建 自己工作有两年时间了,期间都是一直在使用别人搭建好的,或者EOS Studio之类的可视化编程工,...
  • 从0开始搭建微服务体系 1.搭建git、maven、jenkins、tapd,完成devops、项目管理基础工具搭建。 2.搭建consul server,client服务注册中心 3.搭建mysql、hbase、kafka、redis中间件 4.创建netty服务,接收协议 5....
  • 简介 ...本文将搭建微服务注册到注册中心 微服务搭建 1.nwe-module 创建微服务项目 2.pom中添加如下依赖 <dependencies> <!--eureka --> <dependency> <groupId>org
  • Spring Cloud -搭建微服务 资料:Spring Cloud 全系列 Spring Cloud Eureka配置参数详解 记录: 服务注册中心: consul 、 eureka 负载均衡:Ribbon 声明式实现调用HTTP服务:Feign (在使用Feign时,Spring...
  • springcloud-搭建微服务(聚合工程)+eureka 这种方式是写死的不是太好,如果提供方宕机获取我们需要配置集群的时候,这样的话就不好弄了。请参考eureka跟牛逼的技术。本机的参考代码。
  • 为什么用SpringCloud搭建微服务什么是微服务什么是SpringCloud为什么要用SpringCloud来开发微服务项目SpringCloud的常用组件 什么是微服务 既然SpringCloud是专门用于开发“微服务”的,那么首先我们来了解一下,...
  • 目录 Node.js 是什么 安装 node.js Node.js 入门 Node.js 应用场景 npm 镜像 使用 Node.js 搭建微服务网关 什么是微服务架构 使用 Node.js 实现反向代理 ...
  • 使用 go 搭建微服务

    2018-12-12 17:09:25
    本书基于 go 讲解如何搭建一个微服务系统,如果初次接触微服务,可以以此入门 “If you are looking to apply techniques to your own projects by taking your first steps into microservice architecture, this ...
  • Spring Cloud Alibaba +Nacos搭建微服务架构集成nacos1. 启动nacos server2. 微服务客户端集成spring cloud alibaba +nacos server1)在pom.xml文件中添加依赖2)在application.properties|application.yml| ...
  • 学习计划安排如下:继续后台管理系统的学习昨天是搭建了前端页面,今天开始后端微服务搭建。基础微服务、商品微服务搭建,本身还未涉及到具体的业务处理。其中有一个比较复杂的点在于自定义异常。一、创建基本...
  • 二、搭建微服务项目 创建maven父工程 创建服务提供方 创建服务调用方 一、在微服务中服务调用方式 1、RPC和HTTP 无论是微服务还是SOA,都面临着服务间的远程调用,那么服务间的远程调用...
  • dubbo+spring boot搭建微服务 demo 最近比较流行服务化架构,服务化架构比较主流的实现有SOA和微服务。这里我使用分布式服务框架dubbo和spring boot做简单的集成demo。 在微服务框架中有两个角色:是服务的提供者...
  • 刚看了《如何快速搭建微服务架构》的文章,作者分析对比传统单体应用,微服务架构的主要是上手难和运维难。并给出了上手微服务的步骤如下。 使用微服务简单模式进行开发的四个步骤: 第一步:沿用组织中现有的技术...
  • 用Spring Cloud和Docker搭建微服务平台

    千次阅读 2017-10-11 11:02:52
    This blog series will introduce you to some of the foundational concepts of building a microservice-based platform ... 本系列文章将向你介绍一些有关使用Spring Cloud和Docker搭建微服务平台的基本概念。
  • SpringBoot搭建微服务(二)实现MVC

    千次阅读 2016-12-14 16:32:03
    SpringBoot搭建微服务(二)实现MVC

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 13,334
精华内容 5,333
关键字:

搭建微服务