JAVA架构师之SpringBoot,SpringCloud构建微服务项目架构

springcloud微服务项目架构搭建第一天
(一).项目简介
1、准备工作:idea创建springboot模板

2、后台应该涉及的技术(后期可能会有删改)

Spring Framework 容器
SpringMVC MVC框架
Apache Shiro 安全框架
Spring session 分布式Session管理
MyBatis ORM框架
MyBatis Generator 代码生成
PageHelper MyBatis物理分页插件
Druid 数据库连接池
FluentValidator 校验框架
Thymeleaf 模板引擎
Velocity 模板引擎
Eureka 分布式协调服务
Dubbo 分布式服务框架
TBSchedule & elastic-job 分布式调度框架
Redis 分布式缓存数据库
Solr & Elasticsearch 分布式全文搜索引擎
Quartz 作业调度框架
Ehcache 进程内缓存框架
ActiveMQ 消息队列
JStorm 实时流式计算框架
FastDFS 分布式文件系统
Log4J 日志组件
Swagger2 接口测试框架
sequence 分布式高效ID生产
AliOSS & Qiniu & QcloudCOS 云存储
Protobuf & json 数据序列化
Jenkins 持续集成工具
Maven 项目构建管理
Netty-socketio 实时推送

3、前端技术,因为spring boot官方及其不推荐使用jsp,所以使用前后端分离

技术 名称
jQuery 函式库
Bootstrap 前端框架
Bootstrap-table Bootstrap数据表格
Font-awesome 字体图标
material-design-iconic-font 字体图标
Waves 点击效果插件
zTree 树插件
Select2 选择框插件
jquery-confirm 弹出窗口插件
jQuery EasyUI 基于jQuery的UI插件集合体
React 界面构建框架
Editor.md Markdown编辑器
zhengAdmin 后台管理系统模板
autoMail 邮箱地址自动补全插件
zheng.jprogress.js 加载进度条插件
zheng.jtotop.js 返回顶部插件
socket.io.js SocketIO插件
4、架构图如下

5、模块依赖

6、模块介绍

(二).搭建
1、生成spring boot模板

1)、可以通过spring官方网站https://start.spring.io/提供的方法生成需要的模板并集成相应依赖

2)、使用idea的spring initializr

2、增加spring cloud依赖

为了能方便管理整体依赖的版本,在spring官网https://projects.spring.io/spring-cloud/可以获取对应版本的spring cloud

3、增加服务发现组件eureka

虽说eureka2.0开源失败了,但是对于我的项目需求来说,eureka1.0+可以完全兼容,如果觉得eureka1.0+不够用,spring cloud兼容zookeeper等其他服务发现组件,这个以后需要用到再说。

使用eureka服务发现组件需要引入依赖,并在配置文件application.properties中进行配置,这里推荐使用.yml,yml天然的树状结构看起来及其赏心悦目。

<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-netflix-eureka-server</artifactId>
</dependency>
 application.yml配置,在默认配置下,Eureka Server会将自己也作为客户端来尝试注册自己,我们需要禁用它的客户端禁用行为,默认为true的情况下启动会导致一连串的错误发生。

eureka:
client:
#是否向服务注册中心注册自己
register-with-eureka: false
fetch-registry: false
server:
port: 8761
在spring boot提供的启动入口类中加入注解@EnableEurekaServer。启动,访问localhost:8761即可访问eureka信息面板。

4、服务提供者注册到eureka中

在服务提供者模块引入依赖

<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-netflix-eureka-client</artifactId>
</dependency>
在spring boot提供的启动入口类中加入注解@EnableEurekaClient,这里需要说明一下@EnableEurekaClient和@EnableDiscoveryClient的区别,大致可以理解为前者仅仅是针对eureka而使用的,后者可以在eureka,zookeeper、consul中使用。
JAVA架构师之SpringBoot,SpringCloud构建微服务项目架构JAVA架构师之SpringBoot,SpringCloud构建微服务项目架构JAVA架构师之SpringBoot,SpringCloud构建微服务项目架构JAVA架构师之SpringBoot,SpringCloud构建微服务项目架构JAVA架构师之SpringBoot,SpringCloud构建微服务项目架构

原文地址:https://www.cnblogs.com/java188/p/12129004.html

时间: 2024-12-31 21:06:16

JAVA架构师之SpringBoot,SpringCloud构建微服务项目架构的相关文章

SpringBoot 快速构建微服务体系 知识点总结

可以通过http://start.spring.io/构建一个SpringBoot的脚手架项目 一.微服务 1.SpringBoot是一个可使用Java构建微服务的微框架. 2.微服务就是要倡导大家尽量将功能进行拆分,将服务粒度做小,使之可以独立承担对外服务的职责,沿着这个思路开发和交付的软件服务实体就叫做“微服务”. 3.微服务的好处 (1)独立,独立,还是独立.每一个微服务都是一个小王国,跳出了“大一统”(Monolith)王国的统治,开始从各个层面打造自己的独立能力,从而保障自己的小王国可

微服务架构【SpringBoot+SpringCloud+VUE】二 || 项目架构简介

目录 1.概述 2.开发环境 3.部署环境 4.项目管理 5.后端主要技术栈 6.前端主要技术栈 7.项目开发环境服务规划 8.学习交流QQ群[883210148] 1.概述 本项目是一个基于SpringBoot2.x+vue2.X的分布式微服务架构项目,项目会不断进行迭代更新.该项目后端利用SpringCloudAlibaba微服务架构解决方案进行重构.项目前端利用vue框架开发,页面展示主要为pc端和手机端(微信公众号). 2.开发环境 开发工具:IntellijIDEA.VSCode Ja

阿里P8高级架构师带你领略阿里巴巴微服务架构——最后有惊喜哦

Dubbo微服务框架的核心功能 启动时检查 ?Dubbo 缺省会在启动时检查依赖的服务是否可用,不可用时会抛出异常,阻止 Spring 初始化完成,以便上线时,能及早发现问题,默认 check="true" 集群容错 failover 失败自动切换,当出现失败重试其它服务器.通常用于读操作,重试带来更长延迟. failfast快速失败,只发起一次调用,失败立即报错.通常用于非幂等性写操作,如新增记录. failsafe失败安全,出现异常时,直接忽略.通常用于写入审计日志等操作. fai

【SpringCloud构建微服务系列】学习断路器Hystrix

一.Hystrix简介 在微服务架构中经常包括多个服务层,比如A为B提供服务,B为C和D提供服务,如果A出故障了就会导致B也不可用,最终导致C和D也不可用,这就形成了雪崩效应. 所以为了应对这种情况,我们就需要一种容错机制,该机制需要实行以下两点: 为网络请求设置超时,以便尽快释放资源 使用断路器模式,就像家里的电闸一样,如果电流过大就会立刻跳闸以保护电路防止发生火灾.当请求失败率达到一定的阈值,断路器就会打开,不会再请求依赖的服务. Hystrix就是这样设计的,以实现容错处理. 二.通用方式

Maven安装 &amp;快速构建微服务项目

Maven安装手册 1.准备安装包 安装包: apache-maven-3.5.4-bin.zip  (最好JDK 1.7及以上版本) 集成包: eclipse-maven3-plugin.zip 2.maven安装 2.1 将下载好的maven安装包解压到你想放的硬盘目录下 例:H:\maven\apache-maven-3.5.4 2.2 配置环境变量 MAVEN_HOME = H:\maven\apache-maven-3.5.4 path = %MAVEN_HOME%\bin: 2.3

SpringCloud构建微服务 | 服务注册与发现(一)提供Demo

Eureka介绍: Eureka是Netflix开发的服务发现框架,本身是一个基于REST的服务,主要用于定位运行在AWS域中的中间层服务,以达到负载均衡和中间层服务故障转移的目的. SpringCloud将它集成在其子项目spring-cloud-netflix中,以实现SpringCloud的服务发现功能. Eureka包含两个组件:Eureka Server和Eureka Client. Eureka Server提供服务注册服务,各个节点启动后,会在Eureka Server中进行注册,

使用Spring Boot构建微服务(文末福利)

本文主要内容 学习微服务的关键特征 了解微服务是如何适应云架构的 将业务领域分解成一组微服务 使用Spring Boot实现简单的微服务 掌握基于微服务架构构建应用程序的视角 学习什么时候不应该使用微服务 软件开发的历史充斥着大型开发项目崩溃的故事,这些项目可能投资了数百万美元.集中了行业里众多的顶尖人才.消耗了开发人员成千上万的工时,但从未给客户交付任何有价值的东西,最终由于其复杂性和负担而轰然倒塌. 这些庞大的项目倾向于遵循大型传统的瀑布开发方法,坚持在项目开始时界定应用的所有需求和设计.这

java版b2b2c社交电商Spring Cloud构建微服务架构-服务注册与发现

Spring Cloud简介Spring Cloud是一个基于Spring Boot实现的云应用开发工具,它为基于JVM的云应用开发中涉及的配置管理.服务发现.断路器.智能路由.微代理.控制总线.全局锁.决策竞选.分布式会话和集群状态管理等操作提供了一种简单的开发方式. Spring Cloud包含了多个子项目(针对分布式系统中涉及的多个不同开源产品),比如:Spring Cloud Config.Spring Cloud Netflix.Spring Cloud0 CloudFoundry.S

SpringCloud微服务云架构构建B2B2C电子商务平台之-企业分布式微服务云架构构建(四)

今天正式给大家介绍了Spring Cloud - 企业分布式微服务云架构构建,我这边结合了当前大部分企业的通用需求,包括技术的选型比较严格.苛刻,不仅要用业界最流行的技术,还要和国际接轨,在未来的5~10年内不能out.作为公司的架构师,也要有一种放眼世界的眼光,不仅要给公司做好的技术选型,而且还要快速响应企业的业务需求,能够为企业快速定制化业务. 以下是我为公司规划的大型互联网分布式企业微服务云架构: 从现在开始,我这边会将近期研发的spring cloud微服务云架构的搭建过程和精髓记录下来