新手学习微服务SpringCloud项目架构搭建方法
作者:森林木马 发布时间:2022-01-29 04:00:17
这篇文章主要介绍了新手学习微服务SpringCloud项目架构搭建方法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
Spring的微服务框架SpringCloud受到众多公司欢迎,给大家带来一篇框架搭建入门。本次采用的版本是Spring Cloud版本为Finchley.RELEASE。
一、SpringCloud项目简介
spring cloud:
为开发人员提供了快速构建分布式系统的一些工具,包括配置管理、服务发现、断路器、路由、微代理、事件总线、全局锁、决策竞选、分布式会话等等。它运行环境简单,可以在开发人员的电脑上跑。
Spring Boot:
旨在简化创建产品级的 Spring 应用和服务,简化了配置文件,使用嵌入式web服务器,含有诸多开箱即用微服务功能(spring cloud是基于springboot的,所以需要开发中对springboot有一定的了解)。
二、SpringCloud子项目介绍
Netflix Eureka:和zookeeper类似,是一个用于服务注册和发现的组件,主要分为EurekaServer和EurekaClient,EurekaServer是服务注册中心,EurekaClient为Eureka的客户端(可以是生产者,也可以是消费者)
Feign:是一个声明式的伪Http客户端,它使得写Http客户端变得更简单。使用Feign,只需要创建一个接口并注解。Feign默认集成了Ribbon,并和Eureka结合,默认实现了负载均衡的效果。
Spring Cloud Config:配置管理开发工具包,可以让你把配置放到远程服务器,目前支持本地存储、Git以及Subversion。
Spring Cloud Bus:事件、消息总线,用于在集群(例如,配置变化事件)中传播状态变化,可与Spring Cloud Config联合实现热部署。
Spring Cloud Netflix:针对多种Netflix组件提供的开发工具包,其中包括Eureka、Hystrix、Zuul、Archaius等。
Netflix Hystrix:容错管理工具,旨在通过控制服务和第三方库的节点,从而对延迟和故障提供更强大的容错能力
Netflix Zuul:边缘服务工具,是提供动态路由,监控,弹性,安全等的边缘服务。
Netflix Archaius:配置管理API,包含一系列配置管理API,提供动态类型化属性、线程安全配置操作、轮询框架、回调机制等功能。
Spring Cloud for Cloud Foundry:通过Oauth2协议绑定服务到CloudFoundry,CloudFoundry是VMware推出的开源PaaS云平台。
Spring Cloud Sleuth:日志收集工具包,封装了Dapper,Zipkin和HTrace操作。
Spring Cloud Data Flow:大数据操作工具,通过命令行方式操作数据流。
Spring Cloud Security:安全工具包,为你的应用程序添加安全控制,主要是指OAuth2。
Spring Cloud Consul:封装了Consul操作,consul是一个服务发现与配置工具,与Docker容器可以无缝集成。
Spring Cloud Zookeeper:操作Zookeeper的工具包,用于使用zookeeper方式的服务注册和发现。
Spring Cloud Stream:数据流操作开发包,封装了与Redis,Rabbit、Kafka等发送接收消息。
Spring Cloud CLI:基于 Spring Boot CLI,可以让你以命令行方式快速建立云组件。
三、微服务开发要素
1、Codebase:从一个代码库部署到多个环境。
2、Dependencies:使用显式的声明隔离依赖,即模块单独运行,并可以显式管理依赖。
3、Config:在系统外部存储配置信息。
4、Backing Services:把支持 * 看做是资源,支持 * 包括数据库、消息队列、缓冲服务器等。
5、Build, release, run:严格的划分编译、构建、运行阶段,每个阶段由工具进行管理。
6、Processes:应用作为无状态执行。
7、Port binding:经由端口绑定导出服务,优先选择 HTTP API 作为通用的集成框架。
8、Concurrency:并发性使用水平扩展实现,对于web就是水平扩展web应用实现。
9、Disposability:服务可处置性,任何服务可以随意终止或启动。
10、Dev/prod parity:开发和生产环境保持高度一致,一键式部署。
11、Logs:将日志看做是事件流来管理,所有参与的服务均使用该方式处理日志。
12、Admin processes:管理任务作为一次性的过程运行(使用脚本管理服务启动和停止)。
四、SpringCloud项目搭建
具体的项目搭建步骤就不详细介绍了,大家直接去看源码:
源码地址
来源:https://www.cnblogs.com/owenma/p/11847718.html


猜你喜欢
- unity通过GetVector,GetColor,GetFloat等获取。SetVector,SetColor,SetFloat等设置。这
- 下面是一个邮件接收的工具类,有点长!!!public class ReciveMail { private MimeMessage msg
- 定义:用一个中介者对象封装一系列的对象交互,中介者使各对象不需要显示地相互作用,从而使耦合松散,而且可以独立地改变它们之间的交互。类型:行为
- 使用对象访问类中的成员:对象名.成员变量;对象名.成员方法();成员变量的默认值:具体实例代码:public class StudentTe
- 网络应用分为客户端和服务端两部分,而Socket类是负责处理客户端通信的Java类。通过这个类可以连接到指定IP或域名的服务器上,并且可以和
- 前言我们知道volatile关键字的作用是保证变量在多线程之间的可见性,它是java.util.concurrent包的核心,没有volat
- 先介绍一下API,与其他文章不同的是,本文采取类比的方式来讲,同时结合源码。而不像其他文章一样,一个个API罗列出来,让人找不到重点。1、O
- 本文实例讲述了C#使用linq查询大数据集的方法。分享给大家供大家参考。具体如下:using System;using System.Col
- 如何在listview中插入图片,相信大家很想知道,下面就为大家分享具体步骤:第一步:在窗体中拖入ListView控件和imageList控
- 封装类用于阻止系统休眠的C#类。以下是代码注释的解释:DllImport("kernel32.dll"):定义了一个AP
- 介绍:kaptcha 是谷歌开源的非常实用的验证码生成工具一、导入jar包<!-- kaptcha验证码 --><depe
- 打jar包实现分离依赖lib和配置为了业务需要配置文件和jar分离,便于使用者修改配置信息,在网上找了很久,最终找到一个简单有效的方法。操作
- 前言之前我们在浅谈6个成员函数中有提到深浅拷贝的问题,现在再回首掏一把。一、深浅拷贝哪家强?先给出代码理一理#define _CRT_SEC
- 一、@RequestMapping@RequestMapping注解的源码:@Target({ElementType.TYPE, Eleme
- 本文实例讲述了C#远程发送和接收数据流生成图片的方法。分享给大家供大家参考。具体如下:将图片转成数据流方式发送到远程服务,在通过服务器后台程
- 在本博客中,可以找到一篇《c#实现输出的字符靠右对齐的示例》它有教大家怎样实现字符串输出进行左齐或者是右对齐。本篇的方法,超简单,是使用st
- 配置文件context-path的坑context-path: /manage 这个配置加入后会导致访问spring的页面都需要加这个/ma
- 什么是NPOI?NPOI是指构建在POI 3.x版本之上的一个程序,NPOI可以在没有安装Office的情况下对Word或Excel文档进行
- AutoCompleteTextView是一个具有自动补全功能的EditView,当用户输入数据后,AutoCompleteTextView
- 在读《Spring in Action》一书,读到Spring数据访问模板化的内容时,书中以乘坐飞机拖运行李为例,介绍了模板方法这一设计模式