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

springcloud微服务项目架构搭建第一天_第1张图片

2、增加spring cloud依赖

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

springcloud微服务项目架构搭建第一天_第2张图片

3、增加服务发现组件eureka

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

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

        
            org.springframework.cloud
            spring-cloud-starter-netflix-eureka-server
        

 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中

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

        
            org.springframework.cloud
            spring-cloud-starter-netflix-eureka-client
        

在spring boot提供的启动入口类中加入注解@EnableEurekaClient,这里需要说明一下@EnableEurekaClient和@EnableDiscoveryClient的区别,大致可以理解为前者仅仅是针对eureka而使用的,后者可以在eureka,zookeeper、consul中使用。

 

你可能感兴趣的:(springcloud)