一文帶你搞懂Spring核心

2021-09-24 08:33:58 字數 2142 閱讀 8270

容錯

減少延遲/提高效能

可用性負載均衡

總而言之,其實目的只有乙個,」使用者體驗「。

分布式系統是由使用分發中介軟體連線的自治計算機組成的網路。它們有助於共享不同的資源和功能,為使用者提供單一且整合的連貫網路。

1)在伺服器(虛擬機器)上安裝zookeeper(我這裡使用docker安裝)。

(1)去docker-cn.com獲取映象加速位址

(3)使用docker run --name zk01 -p 2181 --restart always -d zookeeper命令安裝zookeeper

(4)使用docker ps命令檢視程序,至此zookeeper已安裝完成,具體的安裝文件請參照

2)建立服務提供者,服務消費者(我使用的開發工具是idea)。

(1)new project 選擇 empty project

(2)建立乙個子工程作為服務提供者。

2.1  new model 選擇spring initalizr為了測試方便引入web模組。

2.2   建立乙個service

package com.example.ticket.service;

public inte***ce ticketservice

2.3  建立serviceimpl,注意引入的包

package com.example.ticket.service;

import com.alibaba.dubbo.config.annotation.service;

import org.springframework.stereotype.component;

@component

@service //將服務發布出去

public class ticketserviceimpl implements ticketservice

}

2.4 引入dubbo和zklient相關依賴

com.alibaba.boot

dubbo-spring-boot-starter

0.1.0

com.github.sgroschupf

zkclient

0.1

2.5  配置dubbo的掃瞄包和註冊中心位址

#當前應用的名稱

#註冊中心的位址

#掃瞄哪些包(發布什麼內容)

dubbo.scan.base-packages=com.example.ticket.service

(3)子工程作為服務消費者。

3.1  new model 選擇spring initalizr為了測試方便引入web模組。

3.2  建立乙個userservice

3.3 引入dubbo和zklient相關依賴

com.alibaba.boot

dubbo-spring-boot-starter

0.1.0

com.github.sgroschupf

zkclient

0.1

3.4  配置dubbo的註冊中心位址

#應用名稱

#註冊中心的位址

3.5 將所需服務提供者工程的service copy過來(一定要全類名相同),之後的目錄結構如下圖

3.6  編寫userservice

package com.example.user.service;

import com.alibaba.dubbo.config.annotation.reference;

import com.example.ticket.service.ticketservice;

import org.springframework.stereotype.service;

@service

public class userservice

}

至此,乙個簡單的分布式系統就搭建完畢。

一文帶你徹底搞懂ThreadLocal

共享變數一直是併發中的老大難問題,每個執行緒都對它有操作權,所以執行緒之間的同步很關鍵,鎖也就應運而生。這裡換乙個思路,是否可以把共享變數私有化?即每個執行緒都擁有乙份共享變數的本地副本,每個執行緒對應乙個副本,同時對共享變數的操作也改為對屬於自己的副本的操作,這樣每個執行緒處理自己的本地變數,形成...

一文帶你搞懂python中的property

通常我們在獲得變數的一些私有屬性時,必須通過方法來獲取私有屬性,並不能直接訪問 修改其數值的時候也是要通過方法去修改,這樣非常的不方便 所以python提供了一種方式,將呼叫方法的的形式轉變為訪問屬性,這樣使用非常方便 class student def init self 這是乙個私有屬性 sel...

一文搞懂transform skew

目錄 如何理解斜切 skew,先看乙個 demo。在下面的 demo 中,有 4 個正方形,分別是 紅色 不做 skew 變換,綠色 x 方向變換,藍色 y 方向變換,黑色 兩個方向都變換,拖動下面的滑塊可以檢視改變 skew 角度後的效果。切換 selector 可以設定 transform or...