0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

基于SpringBoot實(shí)現(xiàn)多租戶架構(gòu):支持應(yīng)用多租戶部署和管理

jf_ro2CN3Fa ? 來源:CSDN ? 2023-06-05 10:20 ? 次閱讀

一、概述

1 什么是多租戶架構(gòu)?

多租戶架構(gòu)是指在一個(gè)應(yīng)用中支持多個(gè)租戶(Tenant)同時(shí)訪問,每個(gè)租戶擁有獨(dú)立的資源和數(shù)據(jù),并且彼此之間完全隔離。通俗來說,多租戶就是把一個(gè)應(yīng)用按照客戶的需求“分割”成多個(gè)獨(dú)立的實(shí)例,每個(gè)實(shí)例互不干擾。

2 多租戶架構(gòu)的優(yōu)勢(shì)

更好地滿足不同租戶的個(gè)性化需求。

可以降低運(yùn)維成本,減少硬件、網(wǎng)絡(luò)等基礎(chǔ)設(shè)施的投入。

節(jié)約開發(fā)成本,通過復(fù)用代碼,快速上線新的租戶實(shí)例。

增強(qiáng)了系統(tǒng)的可擴(kuò)展性和可伸縮性,支持水平擴(kuò)展,每個(gè)租戶的數(shù)據(jù)和資源均可管理和控制。

3 實(shí)現(xiàn)多租戶架構(gòu)的技術(shù)選擇

對(duì)于實(shí)現(xiàn)多租戶架構(gòu)技術(shù)不是最重要的最重要的是正確的架構(gòu)思路。但是選擇正確的技術(shù)可以更快地實(shí)現(xiàn)多租戶架構(gòu)。

二、設(shè)計(jì)思路

1 架構(gòu)選型

基于Java開發(fā)多租戶應(yīng)用推薦使用Spring Boot和Spring Cloud。Spring Boot能快速搭建應(yīng)用并提供許多成熟的插件。Spring Cloud則提供了許多實(shí)現(xiàn)微服務(wù)架構(gòu)的工具和組件。

1.1 Spring Boot

使用Spring Boot可以簡(jiǎn)化項(xiàng)目的搭建過程自動(dòng)配置許多常見的第三方庫和組件,減少了開發(fā)人員的工作量。

@RestController
publicclassTenantController{

@GetMapping("/hello")
publicStringhello(@RequestHeader("tenant-id")StringtenantId){
return"Hello,"+tenantId;
}
}

1.2 Spring Cloud

在架構(gòu)多租戶的系統(tǒng)時(shí)Spring Cloud會(huì)更加有用。Spring Cloud提供了一些成熟的解決方案,如Eureka、Zookeeper、Consul等,以實(shí)現(xiàn)服務(wù)發(fā)現(xiàn)、負(fù)載均衡等微服務(wù)功能。

2 數(shù)據(jù)庫設(shè)計(jì)

在多租戶環(huán)境中數(shù)據(jù)庫必須為每個(gè)租戶分別存儲(chǔ)數(shù)據(jù)并確保數(shù)據(jù)隔離。我們通常使用以下兩種方式實(shí)現(xiàn):

多個(gè)租戶共享相同的數(shù)據(jù)庫,每個(gè)表中都包含tenant_id這一列,用于區(qū)分不同租戶的數(shù)據(jù)。

為每個(gè)租戶創(chuàng)建單獨(dú)的數(shù)據(jù)庫,每個(gè)數(shù)據(jù)庫內(nèi)的表結(jié)構(gòu)相同,但數(shù)據(jù)相互隔離。

3 應(yīng)用多租戶部署

為了實(shí)現(xiàn)多租戶在應(yīng)用部署時(shí)我們需要考慮以下兩個(gè)問題。

3.1 應(yīng)用隔離

在多租戶環(huán)境中不同租戶需要訪問不同的資源,因此需要進(jìn)行應(yīng)用隔離。可以通過構(gòu)建獨(dú)立的容器或虛擬機(jī)、使用命名空間等方式實(shí)現(xiàn)。Docker就是一種非常流行的隔離容器技術(shù)。

3.2 應(yīng)用配置

由于每個(gè)租戶都有自己的配置需求因此需要為每個(gè)租戶分別設(shè)置應(yīng)用配置信息,例如端口號(hào)、SSL證書等等。這些配置可以存儲(chǔ)在數(shù)據(jù)庫中,也可以存儲(chǔ)在云配置中心中。

4 租戶管理

在多租戶系統(tǒng)中需要能夠管理不同租戶的數(shù)據(jù)和資源,同時(shí)需要為每個(gè)租戶分配相應(yīng)的權(quán)限。解決方案通常包括以下兩部分。

4.1 租戶信息維護(hù)

租戶信息的維護(hù)包括添加、修改、刪除、查詢等操作,要求能夠根據(jù)租戶名稱或租戶ID快速查找對(duì)應(yīng)的租戶信息。

CREATETABLEtenant(
idBIGINTAUTO_INCREMENTPRIMARYKEY,
nameVARCHAR(50)NOTNULLUNIQUE,
descriptionVARCHAR(255),
created_timeTIMESTAMPDEFAULTCURRENT_TIMESTAMP,
updated_timeTIMESTAMPDEFAULTCURRENT_TIMESTAMPONUPDATECURRENT_TIMESTAMP
);

4.2 租戶權(quán)限控制

在多租戶應(yīng)用中必須為每個(gè)租戶分別設(shè)置對(duì)系統(tǒng)資源的訪問權(quán)限。例如,A租戶和B租戶不能訪問彼此的數(shù)據(jù)。

@EnableGlobalMethodSecurity(prePostEnabled=true)
@Configuration
publicclassSecurityConfigextendsWebSecurityConfigurerAdapter{

@Override
protectedvoidconfigure(HttpSecurityhttp)throwsException{
http.authorizeRequests()
.antMatchers("/api/tenant/**").hasRole("ADMIN")
.anyRequest().authenticated()
.and()
.formLogin();
}

@Autowired
publicvoidconfigureGlobal(AuthenticationManagerBuilderauth)throwsException{
auth.userDetailsService(userDetailsService())
.passwordEncoder(newBCryptPasswordEncoder())
.and()
.inMemoryAuthentication()
.withUser("admin")
.password(newBCryptPasswordEncoder().encode("123456"))
.roles("ADMIN");
}
}

三、技術(shù)實(shí)現(xiàn)

1 Spring Boot中的多租戶實(shí)現(xiàn)

在Spring Boot中可以通過多數(shù)據(jù)源和動(dòng)態(tài)路由來實(shí)現(xiàn)多租戶機(jī)制。

1.1 多數(shù)據(jù)源實(shí)現(xiàn)

多數(shù)據(jù)源是指為不同的租戶配置不同的數(shù)據(jù)源,使得每個(gè)租戶都可以訪問自己的獨(dú)立數(shù)據(jù)。具體實(shí)現(xiàn)方法如下:

@Configuration
publicclassDataSourceConfig{
@Bean(name="dataSourceA")
@ConfigurationProperties(prefix="spring.datasource.a")
publicDataSourcedataSourceA(){
returnDataSourceBuilder.create().build();
}

@Bean(name="dataSourceB")
@ConfigurationProperties(prefix="spring.datasource.b")
publicDataSourcedataSourceB(){
returnDataSourceBuilder.create().build();
}

@Bean(name="dataSourceC")
@ConfigurationProperties(prefix="spring.datasource.c")
publicDataSourcedataSourceC(){
returnDataSourceBuilder.create().build();
}
}

以上代碼是配置了三個(gè)數(shù)據(jù)源分別對(duì)應(yīng)三個(gè)租戶。然后在使用時(shí),可以使用注解標(biāo)記需要連接的數(shù)據(jù)源。

@Service
publicclassProductService{
@Autowired
@Qualifier("dataSourceA")
privateDataSourcedataSource;

//...
}

1.2 動(dòng)態(tài)路由實(shí)現(xiàn)

動(dòng)態(tài)路由是指根據(jù)請(qǐng)求的URL或參數(shù)動(dòng)態(tài)地切換到對(duì)應(yīng)租戶的數(shù)據(jù)源。具體實(shí)現(xiàn)如下:

publicclassDynamicDataSourceextendsAbstractRoutingDataSource{
@Override
protectedObjectdetermineCurrentLookupKey(){
returnTenantContextHolder.getTenantId();
}
}

@Configuration
publicclassDataSourceConfig{
@Bean(name="dataSource")
@ConfigurationProperties(prefix="spring.datasource")
publicDataSourcedataSource(){
returnDataSourceBuilder.create().type(DynamicDataSource.class).build();
}
}

以上是動(dòng)態(tài)路由的核心代碼DynamicDataSource繼承自AbstractRoutingDataSource,通過determineCurrentLookupKey()方法動(dòng)態(tài)獲得租戶ID,然后切換到對(duì)應(yīng)的數(shù)據(jù)源。

2 Spring Cloud中的多租戶實(shí)現(xiàn)

在Spring Cloud中可以通過服務(wù)注冊(cè)與發(fā)現(xiàn)、配置中心、負(fù)載均衡等方式實(shí)現(xiàn)多租戶機(jī)制。

2.1 服務(wù)注冊(cè)與發(fā)現(xiàn)

使用Spring Cloud中的Eureka實(shí)現(xiàn)服務(wù)注冊(cè)與發(fā)現(xiàn)。每個(gè)租戶的服務(wù)都在注冊(cè)中心以不同的應(yīng)用名稱進(jìn)行注冊(cè),客戶端可以通過服務(wù)名稱來訪問對(duì)應(yīng)租戶的服務(wù)。

2.2 配置中心

使用Spring Cloud Config作為配置中心。配置文件以租戶ID進(jìn)行區(qū)分,客戶端通過讀取對(duì)應(yīng)租戶的配置文件來獲取配置信息。

2.3 負(fù)載均衡

使用Spring Cloud Ribbon作為負(fù)載均衡器。根據(jù)請(qǐng)求的URL或參數(shù)選擇對(duì)應(yīng)租戶的服務(wù)實(shí)例進(jìn)行請(qǐng)求轉(zhuǎn)發(fā)。

2.4 API

在API網(wǎng)關(guān)層面實(shí)現(xiàn)多租戶機(jī)制根據(jù)請(qǐng)求的URL或參數(shù)判斷所屬租戶,并轉(zhuǎn)發(fā)到對(duì)應(yīng)租戶的服務(wù)實(shí)例。

四、 應(yīng)用場(chǎng)景

1 私有云環(huán)境

私有云環(huán)境指的是由企業(yè)自行搭建的云環(huán)境,不對(duì)外提供服務(wù),主要應(yīng)用于企業(yè)內(nèi)部的數(shù)據(jù)存儲(chǔ)、管理、共享和安全控制。相較于公有云,私有云的優(yōu)點(diǎn)在于可以更好地保護(hù)企業(yè)核心數(shù)據(jù),同時(shí)也能夠滿足企業(yè)對(duì)于數(shù)據(jù)安全性和可控性的要求。

2 公有云環(huán)境

公有云環(huán)境指的是由云服務(wù)商搭建并對(duì)外提供服務(wù)的云環(huán)境,用戶可以根據(jù)需要購(gòu)買相應(yīng)的云服務(wù),如云存儲(chǔ)、云計(jì)算、云數(shù)據(jù)庫等。相較于私有云,公有云的優(yōu)點(diǎn)在于具有成本低廉、彈性伸縮、全球化部署等特點(diǎn),能夠更好地滿足企業(yè)快速發(fā)展的需求。

3 企業(yè)級(jí)應(yīng)用

企業(yè)級(jí)應(yīng)用是指面向企業(yè)客戶的應(yīng)用程序,主要包括ERP、CRM、OA等一系列應(yīng)用系統(tǒng)。這類應(yīng)用的特點(diǎn)在于功能強(qiáng)大、流程復(fù)雜、數(shù)據(jù)量大,需要滿足企業(yè)的高效率、高可靠性、高安全性和易維護(hù)性等要求。在云計(jì)算環(huán)境下,企業(yè)可以將這些應(yīng)用部署在私有云或公有云上,減少了硬件設(shè)備的投入和維護(hù)成本,提高了管理效率。

五、實(shí)現(xiàn)步驟

1 搭建Spring Boot和Spring Cloud環(huán)境

首先需要在Maven項(xiàng)目中引入以下依賴:

 

org.springframework.boot
spring-boot-starter-web


 

org.springframework.cloud
spring-cloud-dependencies
2020.0.3
pom
import

然后需要在application.yml中配置相應(yīng)的參數(shù),如下所示:

spring:
datasource:
url:jdbc//localhost:3306/appdb?useUnicode=true&characterEncoding=utf-8&serverTimezone=Asia/Shanghai
username:root
password:123456

mybatis:
type-aliases-package:com.example.demo.model
mapper-locations:classpath:mapper/*.xml

server:
port:8080

eureka:
client:
serviceUrl:
defaultZone:http://localhost:8761/eureka/

management:
endpoints:
web:
exposure:
include:"*"

其中datasource.url為數(shù)據(jù)庫連接的URL,username和password為數(shù)據(jù)庫連接的賬號(hào)和密碼;server.port為Spring Boot應(yīng)用啟動(dòng)的端口;eureka.client.serviceUrl.defaultZone為Eureka服務(wù)注冊(cè)中心的URL。

2 修改數(shù)據(jù)庫設(shè)計(jì)

接下來需要對(duì)數(shù)據(jù)庫進(jìn)行相應(yīng)的修改,以支持多租戶部署。具體來說,我們需要在數(shù)據(jù)庫中添加一個(gè)與租戶相關(guān)的字段,以便在應(yīng)用中區(qū)分不同的租戶。

3 實(shí)現(xiàn)應(yīng)用多租戶部署

接著需要在代碼中實(shí)現(xiàn)應(yīng)用的多租戶部署功能。具體來說,我們需要為每個(gè)租戶實(shí)例化對(duì)應(yīng)的Spring Bean,并根據(jù)租戶ID將請(qǐng)求路由到相應(yīng)的Bean中去處理。

以下是一個(gè)簡(jiǎn)單的實(shí)現(xiàn)示例:

@Configuration
publicclassMultiTenantConfig{

//提供對(duì)應(yīng)租戶的數(shù)據(jù)源
@Bean
publicDataSourcedataSource(TenantRegistrytenantRegistry){
returnnewTenantAwareDataSource(tenantRegistry);
}

//多租戶Session工廠
@Bean(name="sqlSessionFactory")
publicSqlSessionFactorysqlSessionFactory(DataSourcedataSource)
throwsException{
SqlSessionFactoryBeansessionFactory=newSqlSessionFactoryBean();
sessionFactory.setDataSource(dataSource);
returnsessionFactory.getObject();
}

//動(dòng)態(tài)切換租戶
@Bean
publicMultiTenantInterceptormultiTenantInterceptor(TenantResolvertenantResolver){
MultiTenantInterceptorinterceptor=newMultiTenantInterceptor();
interceptor.setTenantResolver(tenantResolver);
returninterceptor;
}

//注冊(cè)攔截器
@Override
publicvoidaddInterceptors(InterceptorRegistryregistry){
registry.addInterceptor(multiTenantInterceptor());
}

//注冊(cè)租戶信息
@Bean
publicTenantRegistrytenantRegistry(){
returnnewTenantRegistryImpl();
}

//解析租戶ID
@Bean
publicTenantResolvertenantResolver(){
returnnewHeaderTenantResolver();
}

}

其中MultiTenantConfig是多租戶部署的核心配置類,它提供了對(duì)應(yīng)租戶數(shù)據(jù)源、多租戶Session工廠、動(dòng)態(tài)切換租戶等功能。

4 實(shí)現(xiàn)租戶管理

最后需要實(shí)現(xiàn)一個(gè)租戶管理的功能,以便在系統(tǒng)中管理不同的租戶。具體來說,我們可以使用Spring Cloud的服務(wù)注冊(cè)與發(fā)現(xiàn)組件Eureka來注冊(cè)每個(gè)租戶的實(shí)例,并在管理界面中進(jìn)行相應(yīng)的操作。另外,我們還需要為每個(gè)租戶提供一個(gè)獨(dú)立的數(shù)據(jù)庫,以保證數(shù)據(jù)隔離性。

六、小結(jié)回顧

本文詳細(xì)介紹了如何使用Spring Boot和Spring Cloud實(shí)現(xiàn)一個(gè)支持多租戶部署的應(yīng)用。主要包括搭建Spring Boot和Spring Cloud環(huán)境、修改數(shù)據(jù)庫設(shè)計(jì)、實(shí)現(xiàn)應(yīng)用多租戶部署、實(shí)現(xiàn)租戶管理等方面。

應(yīng)用場(chǎng)景主要包括SaaS應(yīng)用、多租戶云服務(wù)等。優(yōu)劣勢(shì)主要體現(xiàn)在提升了應(yīng)用的可擴(kuò)展性和可維護(hù)性,但也增加了部署和管理的復(fù)雜度。未來的改進(jìn)方向可以考慮進(jìn)一步提升多租戶管理的自動(dòng)化程度,減少人工干預(yù)和錯(cuò)誤率。





審核編輯:劉清

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • JAVA
    +關(guān)注

    關(guān)注

    19

    文章

    2948

    瀏覽量

    104375
  • CRM
    CRM
    +關(guān)注

    關(guān)注

    1

    文章

    145

    瀏覽量

    21088
  • URL
    URL
    +關(guān)注

    關(guān)注

    0

    文章

    138

    瀏覽量

    15274
  • SSL
    SSL
    +關(guān)注

    關(guān)注

    0

    文章

    122

    瀏覽量

    25699
  • 虛擬機(jī)
    +關(guān)注

    關(guān)注

    1

    文章

    899

    瀏覽量

    27978
  • SpringBoot
    +關(guān)注

    關(guān)注

    0

    文章

    173

    瀏覽量

    154

原文標(biāo)題:基于 SpringBoot 實(shí)現(xiàn)多租戶架構(gòu):支持應(yīng)用多租戶部署和管理

文章出處:【微信號(hào):芋道源碼,微信公眾號(hào):芋道源碼】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。

收藏 人收藏

    評(píng)論

    相關(guān)推薦

    【「嵌入式Hypervisor:架構(gòu)、原理與應(yīng)用」閱讀體驗(yàn)】+全文學(xué)習(xí)心得

    景的需求。同時(shí),嵌入式Hypervisor還支持租戶模式,使得嵌入式系統(tǒng)能夠更好地支持多樣化的應(yīng)用場(chǎng)景,提高了系統(tǒng)的靈活性和可維護(hù)性。 二、高級(jí)特性與優(yōu)化策略 在書籍的中部章節(jié),我學(xué)
    發(fā)表于 10-09 19:11

    《七劍下天山》之“七劍利刃”:“新一代”漏洞掃描管理系統(tǒng)

    。該平臺(tái)七個(gè)方面功能尤其強(qiáng)大,堪稱梁羽生的武俠小說《七劍下天山》之“七劍利刃”: ?日月劍?:租戶管理。不同租戶間能設(shè)置符合各租戶自身特點(diǎn)
    的頭像 發(fā)表于 09-09 11:23 ?295次閱讀

    SaaS 租戶MES生產(chǎn)車間管理系統(tǒng)源碼,生產(chǎn)排程,工藝流程,工序采集

    后端框架:springboot 數(shù) 據(jù) 庫:mysql 移 動(dòng) 端:uniapp 支持 SaaS 租戶,可自定義每個(gè)租戶的權(quán)限,提供透明
    的頭像 發(fā)表于 08-14 17:31 ?223次閱讀
    SaaS <b class='flag-5'>多</b><b class='flag-5'>租戶</b>MES生產(chǎn)車間<b class='flag-5'>管理</b>系統(tǒng)源碼,生產(chǎn)排程,工藝流程,工序采集

    Marvell宣布Teralynx 1芯片進(jìn)入量產(chǎn)及客戶部署階段

    7月26日Marvell宣布Teralynx 10(51.2T以太網(wǎng)交換芯片),已經(jīng)進(jìn)入量產(chǎn)及客戶部署階段。Teralynx 10芯片基于針對(duì)數(shù)據(jù)中心及AI網(wǎng)絡(luò)的全新交換架構(gòu)設(shè)計(jì),能夠同時(shí)滿足大帶寬,超低延時(shí),低功耗,512端口以及全線速可編程特性。
    的頭像 發(fā)表于 07-30 16:32 ?639次閱讀

    聯(lián)機(jī)中央空調(diào)智能運(yùn)維管理系統(tǒng)

    。 聯(lián)機(jī)中央空調(diào)的核心技術(shù)在于其PLC控制系統(tǒng),可以根據(jù)室內(nèi)負(fù)荷的變化自動(dòng)調(diào)整壓縮機(jī)的運(yùn)行頻率和制冷劑的流量,從而實(shí)現(xiàn)精確的溫度控制并提高能效。此外,聯(lián)機(jī)系統(tǒng)還可以實(shí)現(xiàn)冷熱獨(dú)立供應(yīng)
    的頭像 發(fā)表于 06-27 16:29 ?312次閱讀
    <b class='flag-5'>多</b>聯(lián)機(jī)中央空調(diào)智能運(yùn)維<b class='flag-5'>管理</b>系統(tǒng)

    GaussDB(for Redis) 特性揭秘:租戶管理

    華為云 GaussDB(for Redis)持續(xù)完善企業(yè)級(jí)增強(qiáng)特性,是名副其實(shí)的 "Redis Plus" ,其中很經(jīng)典的企業(yè)級(jí)特性是 租戶能力 ,支持添加只讀賬號(hào)、讀寫賬號(hào),且具備強(qiáng)大的 DB
    的頭像 發(fā)表于 03-28 22:06 ?699次閱讀
    GaussDB(for Redis) 特性揭秘:<b class='flag-5'>多</b><b class='flag-5'>租戶</b><b class='flag-5'>管理</b>

    藍(lán)牙串口配置工具

    和功能,用于在產(chǎn)線上實(shí)現(xiàn)高效率配置: 串口支持:具能夠自動(dòng)掃描和識(shí)別連接到計(jì)算機(jī)的串口設(shè)備,無需手動(dòng)輸入串口號(hào)或設(shè)備信息,能夠同時(shí)連接和配置多個(gè)串口設(shè)備,支持對(duì)多個(gè)設(shè)備進(jìn)行統(tǒng)一的配
    發(fā)表于 03-25 19:22

    統(tǒng)一系統(tǒng)脆弱性管理平臺(tái):七大功能和漏洞說“拜拜”

    一是采用租戶管理:不同租戶間能設(shè)置符合各租戶自身特點(diǎn)的漏洞掃描策略,并只能查看當(dāng)前租戶的漏洞分
    的頭像 發(fā)表于 12-21 14:54 ?387次閱讀

    巍泰技術(shù)人員車輛檢測(cè)毫米波雷達(dá)在智慧園區(qū)能耗、物業(yè)、消防、安防場(chǎng)景的應(yīng)用方案

    。針對(duì)不同租戶的應(yīng)用需求,智慧園區(qū)管理平臺(tái)可開放不同的等級(jí)或應(yīng)用系統(tǒng)權(quán)限至園區(qū)管理、物業(yè)、安保、租戶等,從人工巡更變智感研判,實(shí)現(xiàn)了園區(qū)與
    的頭像 發(fā)表于 12-05 17:38 ?386次閱讀
    巍泰技術(shù)人員車輛檢測(cè)毫米波雷達(dá)在智慧園區(qū)能耗、物業(yè)、消防、安防場(chǎng)景的應(yīng)用方案

    如何在 3DICC 中基于虛擬原型實(shí)現(xiàn)芯片架構(gòu)探索

    如何在 3DICC 中基于虛擬原型實(shí)現(xiàn)芯片架構(gòu)探索
    的頭像 發(fā)表于 11-23 09:04 ?420次閱讀
    如何在 3DICC 中基于虛擬原型<b class='flag-5'>實(shí)現(xiàn)</b><b class='flag-5'>多</b>芯片<b class='flag-5'>架構(gòu)</b>探索

    如何在3DICC中基于虛擬原型實(shí)現(xiàn)芯片架構(gòu)探索

    Chiplet芯片系統(tǒng)將多個(gè)裸芯片集成在單個(gè)封裝中,這對(duì)于系統(tǒng)架構(gòu)的設(shè)計(jì)來說增加了新的維度和復(fù)雜性,芯片系統(tǒng)的設(shè)計(jì)貫穿著系統(tǒng)級(jí)協(xié)同設(shè)計(jì)分析方法。
    的頭像 發(fā)表于 11-20 16:50 ?561次閱讀
    如何在3DICC中基于虛擬原型<b class='flag-5'>實(shí)現(xiàn)</b><b class='flag-5'>多</b>芯片<b class='flag-5'>架構(gòu)</b>探索

    Quarkus是SpringBoot的替代品嗎?

    SpringBoot框架不用介紹,Java程序員想必都知道。相對(duì)來說熟悉Quarkus的人可能會(huì)少一些。Quarkus首頁放出的標(biāo)語:超音速亞原子的Java(Supersonic Subatomic Java)。
    的頭像 發(fā)表于 11-10 10:01 ?660次閱讀
    Quarkus是<b class='flag-5'>SpringBoot</b>的替代品嗎?

    云上活高可用架構(gòu),助力企業(yè)實(shí)現(xiàn)業(yè)務(wù)無縫切換與持續(xù)穩(wěn)定運(yùn)行

    活高可用架構(gòu),以實(shí)現(xiàn)業(yè)務(wù)的無縫切換和持續(xù)穩(wěn)定運(yùn)行。2023年云棲大會(huì)現(xiàn)場(chǎng)阿里云高級(jí)專家丁杰現(xiàn)場(chǎng)分享了《云上活高可用架構(gòu)的趨勢(shì)和實(shí)踐》的主
    的頭像 發(fā)表于 11-08 14:12 ?569次閱讀
    云上<b class='flag-5'>多</b>活高可用<b class='flag-5'>架構(gòu)</b>,助力企業(yè)<b class='flag-5'>實(shí)現(xiàn)</b>業(yè)務(wù)無縫切換與持續(xù)穩(wěn)定運(yùn)行

    SpringCloud微服務(wù)遷移到Kubernetes容器化完整流程

    基于 Spring Boot + MyBatis Plus + Vue & Element 實(shí)現(xiàn)的后臺(tái)管理系統(tǒng) + 用戶小程序,支持 RBAC 動(dòng)態(tài)權(quán)限、
    的頭像 發(fā)表于 10-29 16:32 ?720次閱讀
    SpringCloud微服務(wù)遷移到Kubernetes容器化完整流程