springcloud項目詳解一:基本部署

1.是什麼
springcloud是一系列框架的有序集合,它利用Spring Boot的開發便利性巧妙地簡化了分佈式系統基礎設施的開發,如服務發現註冊、配置中心、消息總線、負載均衡、斷路器、數據監控等,都可以用Spring Boot的開發風格做到一鍵啓動和部署。Spring Cloud並沒有重複製造輪子,它只是將目前各家公司開發的比較成熟、經得起實際考驗的服務框架組合起來,通過Spring Boot風格進行再封裝屏蔽掉了複雜的配置和實現原理,最終給開發者留出了一套簡單易懂、易部署和易維護的分佈式系統開發工具包。
2.有卵用
在目前五花八門的分佈式解決方案中提供了標準化的、全站式的技術方案,
分佈式有卵用:一口火鍋一個人吃完要點時間,一桌子人一人一口就沒了。一個應用一臺服務器帶不動,多來幾臺就好了。
3.怎麼用
前置科技:maven,springboot,數據庫
乾貨如下

消費者-生產者-倉儲模型
倉儲倉儲是根本,倉儲倉儲是根本,倉儲倉儲是根本

1、生產者僅僅在倉儲未滿時候生產,倉滿則停止生產。
2、消費者僅僅在倉儲有產品時候才能消費,倉空則等待。
3、當消費者發現倉儲沒產品可消費時候會通知生產者生產。
4、生產者在生產出可消費產品時候,應該通知等待的消費者去消費。

項目基本結構
cloud://父項目
cloud-commons//公共對象或配置
cloud-provider//生產者
cloud-consumer//消費者

父項目建立
我們開發項目,現在基本都用到maven,以及用父子項目,以及公共模塊依賴,來構建方便擴展的項目體系;首先我們建立父項目 cloud,主要是一個pom,管理module,以及管理依賴,規範所有jar包版本等;
新建maven項目
在這裏插入圖片描述勾選 create a simple project
百度百度百度填寫groud ip , artifact Id , Packaging 指定成pom
這裏引入了 springcloud 以及springboot 包括 druid連接池 以及 屬性 規範編譯 目標版本,包括連接池版本 編碼等信息

我們Springcloud版本 用 Edgware.SR4
修改pom.xml

<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.hxzy.gz</groupId>
	<artifactId>cloud</artifactId>
	<version>0.0.1-SNAPSHOT</version>
	<packaging>pom</packaging>
	<name>cloud</name>

	<properties>
		<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
		<maven.compiler.source>1.8</maven.compiler.source>
		<maven.compiler.target>1.8</maven.compiler.target>
		<druid.version>1.1.10</druid.version>
	</properties>
	<dependencyManagement>
		<dependencies>
			<dependency>
				<groupId>org.springframework.cloud</groupId>
				<artifactId>spring-cloud-dependencies</artifactId>
				<version>Edgware.SR4</version>
				<type>pom</type>
				<scope>import</scope>
			</dependency>
			<dependency>
				<groupId>org.springframework.boot</groupId>
				<artifactId>spring-boot-dependencies</artifactId>
				<version>1.5.13.RELEASE</version>
				<type>pom</type>
				<scope>import</scope>
			</dependency>
			<!-- 連接池  -->
			<dependency>
				<groupId>com.alibaba</groupId>
				<artifactId>druid</artifactId>
				<version>${druid.version}</version>
			</dependency>
		</dependencies>
	</dependencyManagement>

	<modules>
		<module>cloud-commons</module>
		<module>cloud-provider-1001</module>
		<module>cloud-consumer-80</module>
	</modules>
</project>

cloud-commons依賴:

<dependency>
			<groupId>mysql</groupId>
			<artifactId>mysql-connector-java</artifactId>
		</dependency>
		
		<dependency>
			<groupId>org.springframework.boot</groupId>
			<artifactId>spring-boot-starter-data-jpa</artifactId>
		</dependency>

entity:

@Entity
@Table(name = "teacher")
public class Teacher {
	@Id
	@GeneratedValue(strategy = GenerationType.AUTO)
	private int tno;
	private String tname;
}
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章