何時用到nginx tomcat負載均衡nginx
他請求量到達必定程度,單tomcat沒法負載的時候,就須要使用nginx作負載均衡了spring
什麼是springboottomcat
用來簡化spring應用的初始搭建以及開發過程 使用特定的方式來進行配置(properties或yml文件)springboot
建立獨立的spring引用程序 main方法運行服務器
嵌入的Tomcat 無需部署war文件mybatis
簡化maven配置app
自動配置spring添加對應功能starter自動化配置負載均衡
springboot自動配置的原理框架
在spring程序main方法中 添加@SpringBootApplication或者@EnableAutoConfigurationmaven
會自動去maven中讀取每一個starter中的spring.factories文件 該文件裏配置了全部須要被建立spring容器中的bean
springboot讀取配置文件的方式
springboot默認讀取配置文件爲application.properties或者是application.yml
springboot集成mybatis的過程
添加mybatis的starter maven依賴
<dependency>
<groupId>org.mybatis.spring.boot</groupId>
<artifactId>mybatis-spring-boot-starter</artifactId>
<version>1.2.0</version>
</dependency>
在mybatis的接口中 添加@Mapper註解
在application.yml配置數據源信息
什麼是微服務
之前的模式是 全部的代碼在同一個工程中 部署在同一個服務器中 同一個項目的不一樣模塊不一樣功能互相搶佔資源
微服務 將工程根據不一樣的業務規則拆分紅微服務 微服務部署在不一樣的機器上 服務之間進行相互調用
Java微服務的框架有 dubbo(只能用來作微服務),spring cloud(提供了服務的發現,斷路器等)
springcloud如何實現服務的註冊和發現
服務在發佈時 指定對應的服務名(服務名包括了IP地址和端口) 將服務註冊到註冊中心(eureka或者zookeeper)
這一過程是springcloud自動實現 只須要在main方法添加@EnableDisscoveryClient 同一個服務修改端口就能夠啓動多個實例
調用方法:傳遞服務名稱經過註冊中心獲取全部的可用實例 經過負載均衡策略調用(ribbon和feign)對應的服務
ribbon和feign區別
Ribbon添加maven依賴 spring-starter-ribbon 使用@RibbonClient(value="服務名稱") 使用RestTemplate調用遠程服務對應的方法
feign添加maven依賴 spring-starter-feign 服務提供方提供對外接口 調用方使用 在接口上使用@FeignClient("指定服務名")