• Stars
    star
    190
  • Rank 203,739 (Top 5 %)
  • Language
    Java
  • Created about 6 years ago
  • Updated over 4 years ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

Spring Cloud作为第二代微服务的代表性框架,已经在国内众多大中小型的公司有实际应用案例。许多公司的业务线全部拥抱Spring Cloud,部分公司选择部分拥抱Spring Cloud。此示例基于Spring Boot 1.5.x编写,展示了Spring Cloud的核心组件的基本使用方式,在学习Spring Cloud时可以参考本示例。

EDC.SpringCloud.Samples

温馨提示

本示例基于Spring Boot 1.5.x实现,如对Spring Boot不熟悉,可以先学习我的这一篇:《Spring Boot 1.5.x 基础学习示例》。关于微服务基本概念不了解的童鞋,可以先阅读下始祖Martin Fowler的《Microservice》,本文不做介绍和描述。 本示例配套介绍博文请点击这里

Spring Cloud基本介绍

Spring Cloud微服务实战

首先,尽管Spring Cloud带有“Cloud”这个单词,但它并不是云计算解决方案,而是在Spring Boot基础之上构建的,用于快速构建分布式系统的通用模式的工具集。
其次,使用Spring Cloud开发的应用程序非常适合在Docker和PaaS(比如Pivotal Cloud Foundry)上部署,所以又叫做云原生应用(Cloud Native Application)。云原生可以简单地理解为面向云环境的软件架构。
总结,Spring Cloud是一个基于Spring Boot实现的云原生应用开发工具,它为基于JVM的云原生应用开发中涉及的配置管理、服务发现、熔断器、智能路由、微代理、控制总线、分布式会话和集群状态管理等操作提供了一种简单的开发方式

Spring Cloud核心子项目

  • Spring Cloud Netflix:核心组件,可以对多个Netflix OSS开源套件进行整合,包括以下几个组件:
    • Eureka:服务治理组件,包含服务注册与发现
    • Hystrix:容错管理组件,实现了熔断器
    • Ribbon:客户端负载均衡的服务调用组件
    • Feign:基于Ribbon和Hystrix的声明式服务调用组件
    • Zuul:网关组件,提供智能路由、访问过滤等功能
    • Archaius:外部化配置组件
  • Spring Cloud Config:配置管理工具,实现应用配置的外部化存储,支持客户端配置信息刷新、加密/解密配置内容等。
  • Spring Cloud Bus:事件、消息总线,用于传播集群中的状态变化或事件,以及触发后续的处理
  • Spring Cloud Security:基于spring security的安全工具包,为我们的应用程序添加安全控制
  • Spring Cloud Consul : 封装了Consul操作,Consul是一个服务发现与配置工具(与Eureka作用类似),与Docker容器可以无缝集成
  • ......

示例环境版本

  • Java : JDK & JRE 1.8 8u151
  • Spring Boot : 1.5.15.RELEASE
  • Spring Cloud : Edgware.SR3 (PS:Spring Cloud的版本命名是以伦敦地铁站的名字来命名的)

示例简要说明

推荐学习资料

PS:下面资料都是我们项目组新同事以及老同事(.Net技术背景)所采用的学习资料,并不保证适合于所有人。本示例主要也主要是基于下面的资料而写的sample code。
Spring Cloud与Docker微服务架构实战 Spring Cloud微服务实战

周立 Spring Cloud与Docker微服务架构实战:https://book.douban.com/subject/30278673/
程序猿DD SpringCloud基础教程(Dalston版本),Spring Cloud微服务实战:http://blog.didispace.com/Spring-Cloud%E5%9F%BA%E7%A1%80%E6%95%99%E7%A8%8B/
纯洁的微笑 SpringCloud系列教程:http://www.ityouknow.com/spring-cloud

推荐开发环境

Intellij Idea 2018

> Intellij Idea Community 2018版本

阿里巴巴代码规约

> 阿里巴巴代码规约插件

参考博文

Spring Cloud微服务架构基础学习与示例
Java微服务之Spring Boot on Docker(Docker Compose编排Spring Cloud微服务)

More Repositories

1

DesignPattern.Samples.CSharp

23种面向对象设计模式示例代码(C#实现)
C#
366
star
2

DataStructure.Samples.CSharp

数据结构示例程序(C#语言描述)
C#
130
star
3

IdentityService.Sample.DotNetCore

一个基于IdentityServer4和Ocelot的统一验证与授权ASP.NET Core微服务示例程序项目
C#
93
star
4

EDT.SpringBoot.Samples

基于程序猿DD的SpringBoot教程所做的学习实践,基于SprintBoot 1.5.15版本,每个项目均演示了部分内容:如SpringSecurity、Spring-Data-JPA、多数据源处理、Redis与MongoDB的集成等等等等。由于程序猿DD的文章示例版本太旧,部分Code无法正常运行,所以在学习途中(非SpringBoot2.0版本的学习)可以参考本示例Demo来学习。
Java
48
star
5

EDT.WorkflowCore.Sample

一个基于开源轻量级工作流引擎“WorkflowCore”的示例项目,演示了如何在.NET Core中使用WorkflowCore。
C#
42
star
6

EDT.SearchEngine.LuceneNet

一个基于ASP.Net和Lucene.Net开发的经典站内搜索示例
C#
34
star
7

EDT.EasyNetQ.Samples

This is a simple demo on Message Queue & Event Bus based on EasyNetQ (it is based on RabbitMQ.Client) for ASP.NET Core projects
C#
32
star
8

The-Fighting-of-Planes

一个使用C#开发的模仿微信飞机大战游戏
C#
27
star
9

Microservice.PoC.Steeltoe

This is one sample microservice project developed by ASP.NET Core with Spring Cloud based on Steeltoe (http://steeltoe.io/).
C#
26
star
10

EDT.PointToOffer.Samples.CSharp

基于《剑指Offer》的配套示例代码(C#代码实现),可以作为各位.NET/C#开发童鞋学习《剑指Offer》的补充示例,每个示例均配有Unit Test,并且能够通过。
C#
21
star
11

EDT.IdentityServer4.Samples

A simple Authentication&Authorization demo based on IdentityServer4
C#
20
star
12

AspNetCore.Mini

一个超简迷你版的ASP.NET Core框架,真实模拟+足够简单+可以执行,基于蒋金楠老师的分享改写成的基于.NET Standard的版本,有.NET Framework和.NET Core两个服务端的启动程序。
C#
20
star
13

EDT.DDD.Sample

一个基于.NET 5开发的DDD示例WebAPI项目
C#
14
star
14

EDT.Dapr.Sample

A Sample Code Project for ASP.NET 5 with Dapr
C#
13
star
15

CanalSharp.AspNetCore

一个基于CanalSharp(一款针对.NET的Canal客户端开源项目)封装的ASP.NET Core业务组件,可以用于实时收集MySql数据更改记录并写入修改日志数据表中。
C#
13
star
16

Clean-Architecture-Template

A CleanArchitecture Development Template Sample for ASP.NET 6
HTML
13
star
17

EDT.MachineLearning.Samples

初探机器学习的一些学习示例代码,包括但不仅限于ML.NET、推荐系统、图片识别、语音合成等等
C#
12
star
18

AspNetCore.On.K8S

ASP.NET Core On K8S系列文章示例代码
C#
10
star
19

EdisonTalk.MongoProxy

A shared library to access and operate MongoDB for .NET Core projects
C#
9
star
20

EDT.MyPictureDownloader.Sample

自己动手写工具之百度图片批量下载器(示例代码)
C#
5
star
21

edisonzhou.github.io

Edison Chou的个人主页
CSS
5
star
22

CrazySphere

一个Unity3D开发的打箱子小游戏
C#
3
star
23

EDT.AspNetMvc.Framework

自己动手写一个简单的ASP.Net MVC框架
C#
3
star
24

EDT.EventBus.Sample

Some sample code for ASP.NET Core with EventBus
C#
3
star
25

BlazorSamples

Web Blaozr Application Samples with ASP.NET 6
HTML
3
star
26

MyCustomTask

自己动手实现一个.NET的Task
C#
3
star
27

ElasticSamples

One ASP.NET 6 application sample to show how to integrate with ElasticSearch and do CRUD operations for documents.
C#
2
star
28

EDT.SpringCloud.Samples.Config

此仓库主要用于演示Spring Cloud Config的统一管理配置,包含一些不同环境(DEV, TEST, PROD)的配置文件。
1
star
29

EDT.WorkOrderAgent

A sample project to show how to create an AI Agent by Semantic Kernel and LLM API
C#
1
star
30

EDT.Mongo.Sample

A Sample Project for ASP.NET 5 with MongoDB
C#
1
star
31

PLC-Connectors

One .NET project to show how to connect PLC, mainly focus on Siemens S7 PLC.
C#
1
star