03-微服务架构及解决方案

那么如何才能正确的掌握Redis呢?

为了让大家能够在Redis上能够加深,所以这次给大家准备了一些Redis的学习资料,还有一些大厂的面试题,包括以下这些面试题

  • 并发编程面试题汇总

  • JVM面试题汇总

  • Netty常被问到的那些面试题汇总

  • Tomcat面试题整理汇总

  • Mysql面试题汇总

  • Spring源码深度解析

  • Mybatis常见面试题汇总

  • Nginx那些面试题汇总

  • Zookeeper面试题汇总

  • RabbitMQ常见面试题汇总

JVM常频面试:

Redis高频面试笔记:基础+缓存雪崩+哨兵+集群+Reids场景设计

Mysql面试题汇总(一)

Redis高频面试笔记:基础+缓存雪崩+哨兵+集群+Reids场景设计

Mysql面试题汇总(二)

Redis高频面试笔记:基础+缓存雪崩+哨兵+集群+Reids场景设计

Redis常见面试题汇总(300+题)

Redis高频面试笔记:基础+缓存雪崩+哨兵+集群+Reids场景设计

本文已被CODING开源项目:【一线大厂Java面试题解析+核心总结学习笔记+最新讲解视频+实战项目源码】收录

需要这份系统化的资料的朋友,可以点击这里获取

  • 服务注册与发现:

基于Spring Cloud 服务注册与发现标准,借助Nacos进行实现,默认还集成了 Ribbon 的支持。

  • 分布式配置管理:

基于Nacos支持分布式系统中的外部化配置,配置更改时自动刷新。

  • 消息驱动能力:

基于Spring Cloud Stream 为微服务应用构建消息驱动能力。

  • 分布式事务:

使用 @GlobalTransactional 注解, 高效并且对业务零侵入地解决分布式事务问题。。

  • 分布式任务调度:

提供秒级、精准、高可靠、高可用的定时(基于 Cron 表达式)任务调度服务。同时提供分布式的任务执行模型,如网格任务。网格任务支持海量子任务均匀分配到所有 Worker上执行。

解决方案架构设计


基于Spring Cloud Alibaba实现的微服务,解决方案设计架构如图所示:

在这里插入图片描述

构建SpringCloud 聚合项目并进行环境初始化

====================================================================================

工程结构


微服务项目一般都会采用聚合工程结构,可通过聚合工程结构实现共享资源的复用,简化项目的管理方式。本小节以一个聚合工程结构为案例,讲解微服务架构方案中的maven聚合工程的基本结构,例如:

GitCGB2108IVProjects (工作区/空项目)

├── 01-sca //(微服务父工程)

├── sca-provider //服务提供方法

├── sca-consumer //服务消费方法

├── sca-gateway //网关服务

创建空项目


打开Idea,创建一个空项目(Empty Project),项目名为GitCGB2108IVProjects,例如:

在这里插入图片描述

在这里插入图片描述

其中,这个空项目就类似磁盘中的一个空的文件夹,可以将此文件夹作为一个代码工作区。

项目初始化配置


第一步:配置maven环境(只要是新的工作区,都要重新配置),注意本地库选择新的位置不要与其它项目共用本地库,因为多个项目所需要依赖的版本不同时,可能会有一些依赖版本的冲突。.

在这里插入图片描述

说明,这里的本地库名字最要不要选择中文,单词之间也不要有空格。

第二步:配置JDK编译环境

聚合工程在编译时,需要对相关依赖的工程进行一起编译,所以需要做一些配置,例如:

在这里插入图片描述

指定一下当前工作区的jdk编译版本,例如:

在这里插入图片描述

第三步:配置工作区中项目编码方式

在这里插入图片描述

创建聚合父工程


我们后续在创建微服务工程进行学习时,相关服务依赖版本的管理,公共依赖,项目编译,打包设计等都可以放在此工程下,进行统一的配置,然后实现共享。

第一步:创建父工程模块,例如:

在这里插入图片描述

在这里插入图片描述

第二步:删除工程中的src目录(父工程不需要这个目录),例如:

在这里插入图片描述

第三步:修改项目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”>

4.0.0

com.jt

01-sca

1.0-SNAPSHOT

org.springframework.boot

spring-boot-dependencies

2.3.2.RELEASE

pom

import

org.springframework.cloud

spring-cloud-dependencies

Hoxton.SR9

pom

import

com.alibaba.cloud

spring-cloud-alibaba-dependencies

2.2.6.RELEASE

pom

import

org.projectlombok

lombok

provided

org.springframework.boot

spring-boot-starter-test

test

org.junit.vintage

junit-vintage-engine

<!–项目构建配置,我们基于maven完成项目的编译,测试,打包等操作,

都是基于pom.xml完成这一列的操作,但是编译和打包的配置都是要写到build元素

内的,而具体的编译和打包配置,又需要plugin去实现,plugin元素不是必须的,maven

有默认的plugin配置,常用插件可去本地库进行查看–>

org.apache.maven.plugins

maven-compiler-plugin

3.8.1

8

8

其中,服务核心依赖版本可参考如下网址(涉及到一个兼容性问题,不能随意指定其版本):

https://github.com/alibaba/spring-cloud-alibaba/wiki/%E7%89%88%E6%9C%AC%E8%AF%B4%E6%98%8E

创建服务提供方模块


创建服务提供方工程,继承01-sca,例如:

在这里插入图片描述

最后

由于文案过于长,在此就不一一介绍了,这份Java后端架构进阶笔记内容包括:Java集合,JVM、Java并发、微服务、SpringNetty与 RPC 、网络、日志 、Zookeeper 、Kafka 、RabbitMQ 、Hbase 、MongoDB、Cassandra 、Java基础、负载均衡、数据库、一致性算法、Java算法、数据结构、分布式缓存等等知识详解。

image

本知识体系适合于所有Java程序员学习,关于以上目录中的知识点都有详细的讲解及介绍,掌握该知识点的所有内容对你会有一个质的提升,其中也总结了很多面试过程中遇到的题目以及有对应的视频解析总结。

image

image

本文已被CODING开源项目:【一线大厂Java面试题解析+核心总结学习笔记+最新讲解视频+实战项目源码】收录

需要这份系统化的资料的朋友,可以点击这里获取

库、一致性算法、Java算法、数据结构、分布式缓存**等等知识详解。

[外链图片转存中…(img-Z4g0XJWt-1715758521287)]

本知识体系适合于所有Java程序员学习,关于以上目录中的知识点都有详细的讲解及介绍,掌握该知识点的所有内容对你会有一个质的提升,其中也总结了很多面试过程中遇到的题目以及有对应的视频解析总结。

[外链图片转存中…(img-auFnX9s0-1715758521287)]

[外链图片转存中…(img-GUtOjBS1-1715758521287)]

本文已被CODING开源项目:【一线大厂Java面试题解析+核心总结学习笔记+最新讲解视频+实战项目源码】收录

需要这份系统化的资料的朋友,可以点击这里获取

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值