Spring頂級框架有眾多越平,那么接下的篇幅频蛔,我將重點講解SpringCloud微框架的實現
Spring 頂級項目灵迫,包含眾多,我們重點學習一下晦溪,SpringCloud項目以及SpringBoot項目
一瀑粥、SpringCloud項目簡介
Spring Cloud:
微服務工具包,為開發(fā)者提供了在分布式系統的配置管理三圆、服務發(fā)現狞换、斷路器、智能路由舟肉、微代理哀澈、控制總線等開發(fā)工具包。
Spring Boot:
旨在簡化創(chuàng)建產品級的 Spring 應用和服務度气,簡化了配置文件割按,使用嵌入式web服務器,含有諸多開箱即用微服務功能
可以和spring cloud聯合部署磷籍。
二适荣、SpringCloud子項目介紹
Spring Cloud Config:配置管理開發(fā)工具包,可以讓你把配置放到遠程服務器院领,目前支持本地存儲弛矛、Git以及Subversion。
Spring Cloud Bus:事件比然、消息總線丈氓,用于在集群(例如,配置變化事件)中傳播狀態(tài)變化强法,可與Spring Cloud Config聯合實現熱部署万俗。
Spring Cloud Netflix:針對多種Netflix組件提供的開發(fā)工具包,其中包括Eureka饮怯、Hystrix闰歪、Zuul、Archaius等蓖墅。
Netflix Eureka:云端負載均衡库倘,一個基于 REST 的服務,用于定位服務论矾,以實現云端的負載均衡和中間層服務器的故障轉移教翩。
Netflix Hystrix:容錯管理工具,旨在通過控制服務和第三方庫的節(jié)點,從而對延遲和故障提供更強大的容錯能力贪壳。
Netflix Zuul:邊緣服務工具饱亿,是提供動態(tài)路由,監(jiān)控,彈性路捧,安全等的邊緣服務关霸。
Netflix Archaius:配置管理API,包含一系列配置管理API杰扫,提供動態(tài)類型化屬性队寇、線程安全配置操作、輪詢框架章姓、回調機制等功能佳遣。
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是一個服務發(fā)現與配置工具蛹疯,與Docker容器可以無縫集成戒财。
Spring Cloud Zookeeper:操作Zookeeper的工具包,用于使用zookeeper方式的服務注冊和發(fā)現捺弦。
Spring Cloud Stream:數據流操作開發(fā)包饮寞,封裝了與Redis,Rabbit、Kafka等發(fā)送接收消息列吼。
Spring Cloud CLI:基于 Spring Boot CLI幽崩,可以讓你以命令行方式快速建立云組件。
三冈欢、微服務開發(fā)要素
1歉铝、Codebase:從一個代碼庫部署到多個環(huán)境。
2凑耻、Dependencies:使用顯式的聲明隔離依賴,即模塊單獨運行柠贤,并可以顯式管理依賴香浩。
3、Config:在系統外部存儲配置信息臼勉。
4邻吭、Backing Services:把支持性服務看做是資源,支持性服務包括數據庫宴霸、消息隊列囱晴、緩沖服務器等膏蚓。
5、Build, release, run:嚴格的劃分編譯畸写、構建驮瞧、運行階段,每個階段由工具進行管理枯芬。
6论笔、Processes:應用作為無狀態(tài)執(zhí)行。
7千所、Port binding:經由端口綁定導出服務狂魔,優(yōu)先選擇 HTTP API 作為通用的集成框架。
8淫痰、Concurrency:并發(fā)性使用水平擴展實現最楷,對于web就是水平擴展web應用實現。
9待错、Disposability:服務可處置性管嬉,任何服務可以隨意終止或啟動。
10朗鸠、Dev/prod parity:開發(fā)和生產環(huán)境保持高度一致蚯撩,一鍵式部署。
11烛占、Logs:將日志看做是事件流來管理胎挎,所有參與的服務均使用該方式處理日志。
12忆家、Admin processes:管理任務作為一次性的過程運行(使用腳本管理服務啟動和停止)犹菇。
——————————————————————————————————————————
接下來,我們開始創(chuàng)建應用了····
那么...
四芽卿、使用spring boot創(chuàng)建第一個應用
4.1 前言
spring boot 的核心技術當然還是spring,是基于spring 4.x揭芍。
4.2 環(huán)境說明
IDE:Myeclipse 10
JDK:1.8
管理:mvn 3
服務器:tomcat
(關于環(huán)境搭建我們這里不多說了,需要的自行找度娘)
4.3 創(chuàng)建一個maven項目
先在pom.xml中加入依賴的包卸例。
<?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>Cloud</groupId>
<artifactId>hyh</artifactId>
<version>0.0.1-SNAPSHOT</version>
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>1.3.0.RELEASE</version>
</parent>
<dependencies>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
</dependencies>
<build>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
<dependencies>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>springloaded</artifactId>
<version>1.2.5.RELEASE</version>
</dependency>
</dependencies>
</plugin>
</plugins>
</build>
</project>
如圖:
我們創(chuàng)建了一個類:SpringBootTest.java:
package com.hyh.bk;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.ResponseBody;
@Controller
@SpringBootApplication
public class SpringBootTest {
@ResponseBody
@RequestMapping(value="/")
String location(){
return "北京";
}
/**
* 主函數
*
*/
public static void main(String[] args) {
System.out.println("-------------");
SpringApplication.run(SpringBootTest.class, args);
}
}
解釋:
@SpringBootApplication=@Configuration + @EnableAutoConfiguration + @ComponentScan
@Configuration,@ComponentSca這倆注解語法是spring框架中的称杨。起步于spring 3.x
@EnableAutoConfiguration是spring boot語法,表示自動配置筷转。
原創(chuàng) 姑原,歡迎轉載,請注明出處!
原文地址:http://www.cnblogs.com/hyhnet/p/5626421.html
** 官方博客:http://www.hanyahong.com **
交流wx請加: wixf150,請輸入 微服務驗證