SpringCloud知识点总结
# 什么是微服务**** 架构演进架构的发展历程是从单体式架构,到分布式架构,到SOA架构,再到微服务架构。 单体架构:未做任何拆分的Java Web程序 分布式架构:按照业务垂直划分,每个业务都是单体架构,通过API互相调用。 SOA架构:SOA是一种面向服务的架构。其应用程序的不同组件通过网络上的通信协议向其它组件提供服务或消费服务,所以也是分布式架构的一种。 微服务架构微服务架构在某种程度上是SOA架构的进一步的发展。 微服务目前并没有比较官方的定义。微服务 Microservices 之父,马丁.福勒,对微服务大概的概述如下: 就目前而言,对于微服务业界并没有一个统一的、标准的定义(While there is no precise definition of this architectural style ) 。 但通常在其而言,微服务架构是一种架构模式或者说是一种架构风格,它提倡将单一应用程序划分成一组小的服务,每个服务运行独立的自己的进程中,服务之间互相协调、互相配合,为用户提供最终价值。 服务之间采用轻量级的通信机制互相沟通(通常是基于 HTTP ...
SpringCloud(三) Config,Bus,Stream,RabbitMq
spring cloud 3flag 全名: facebook linkin amazon google 1Config 分布式配置中心1.1Config 概述 Spring Cloud Config 解决了在分布式场景下多环境配置文件的管理和维护。 好处: • 集中管理配置文件 • 不同环境不同配置,动态化的配置更新 • 配置信息改变时,不需要重启即可更新配置信息到服务 1.2Config 快速入门 config server: 使用gitee创建远程仓库,上传配置文件 config-dev.yml或者直接创建 以provider的application.yml为例 把里面的内容复制到config-dev.yml 123456789101112131415161718192021server: port: 8002eureka: instance: hostname: localhost # 主机名 prefer-ip-address: true # 将当前实例的ip注册到eureka server 中。默认是false 注册主机名 ip-address: 1 ...
SpringCloud(一) Eureka,Consul,Nacos,Ribbon
spring cloud 11服务的注册与发现框架 eureka netflex consul nacos dubbo 2微服务调用框架 ribbon feign 3熔断器框架 hystrix 4网关 gateway zuul 5配置中心 config 6服务总线 bus 1初识 Spring Cloud-面试1.1微服务架构 ①”微服务”一词源于 Martin Fowler的名为 Microservices的博文,可以在他的官方博客上找到http://martinfowler.com/articles/microservices.html ②微服务是系统架构上的一种设计风格,它的主旨是将一个原本独立的系统拆分成多个小型服务,这些小型服务都在各自独立的进程中运行,服务之间一般通过 HTTP 的 RESTfuL API 进行通信协作。 ③微服务是系统架构上的一种设计风格,它的主旨是将一个原本独立的系统拆分成多个小型服务,这些小型服务都在各自独立的进程中运行,服务之间一般通过 ...
SpringCloud(二) Feign,Hystrix,gateway
spring cloud 21服务调用组件Feign1.1概述 Feign 是一个声明式的 REST 客户端,它用了基于接口的注解方式,很方便实现客户端配置。 Feign 最初由 Netflix 公司提供,但不支持SpringMVC注解,后由 SpringCloud 对其封装,支持了SpringMVC注解,让使用者更易于接受。 1.2快速入门 在消费端引入 open-feign 依赖 1234<dependency> <groupId>org.springframework.cloud</groupId> <artifactId>spring-cloud-starter-openfeign</artifactId></dependency> 编写Feign调用接口。复制粘贴被调方的conreoller方法,加上类路径。 GoodsFeignClient 1234567@FeignClient(value = "FEIGN-PROVIDER")public interface Go ...
zookeeper,Curator分布式应用程序的协调服务
Zookeeper1)初识 Zookeeper1.1)Zookeeper概念•Zookeeper 是 Apache Hadoop 项目下的一个子项目,是一个树形目录服务。 •Zookeeper 翻译过来就是 动物园管理员,他是用来管 Hadoop(大象)、Hive(蜜蜂)、Pig(小 猪)的管理员。简称zk •Zookeeper 是一个分布式的、开源的分布式应用程序的协调服务。 •Zookeeper 提供的主要功能包括: •配置管理 •分布式锁 •集群管理 2)ZooKeeper 安装与配置2.1) 下载安装2.1.1、环境准备ZooKeeper服务器是用Java创建的,它运行在JVM之上。需要安装JDK 7或更高版本。 2.1.2、上传将下载的ZooKeeper放到/opt/ZooKeeper目录下 12345678#上传zookeeper alt+pput f:/setup/apache-zookeeper-3.5.6-bin.tar.gz#打开 opt目录cd /opt#创建zooKeeper目录mkdir zooKeeper#将zookeeper安装包移动到 /opt/z ...
Maven高级-分模块合并与私服
Maven高级1)分模块开发与设计1.1)工程模块与模块划分 1.2)ssm_pojo拆分新建模块 拷贝原始项目中对应的相关内容到ssm_pojo模块中 实体类(User) 配置文件(无) 1.3)ssm_dao拆分 新建模块 拷贝原始项目中对应的相关内容到ssm_dao模块中 数据层接口(UserDao) 配置文件:保留与数据层相关配置文件(3个) 注意:分页插件在配置中与SqlSessionFactoryBean绑定,需要保留 pom.xml:引入数据层相关坐标即可,删除springmvc相关坐标 spring mybatis spring 整合mybatis mysql druid pagehelper 直接依赖ssm_pojo(对ssm_pojo模块执行install指令,将其安装到本地仓库) 1.4)ssm_service拆分 新建模块 拷贝原始项目中对应的相关内容到ssm_service模块中 业务层接口与实现类(UserService、UserServiceImpl) 配置文件:保留与数据层相关配置文件(1个) ...
Redis基础(一)
第一章 Redis基础课程计划 1. Redis 入 门 (了解) (操作) 2. 数据类型 (重点) (操作) (理解) 3. 常用指令 (操作) 4. Jedis (重点) (操作) 5. 持 久 化 (重点) (理解) 6. 数据删除与淘汰策略 (理解) 7. 主从复制 (重点) (操作) (理解) 8. 哨 兵 (重点) (操作) (理解) 9. Cluster集群方案 (重点) (操作) (理解) 10. 企业级缓存解决方案 (重点) (理解) 11. 性能指标监控 (了解) 学习目标:目标1:能够说出NoSQL的概念,redis的应用场景,能够完成redis的下载安装与启动以及一些常用的配置 目标2:能够说出redis常用的5种数据类型,对应这些数据类型的基本操作,应用场景及对应的解决方案 目标3:能够说出redis中常用的一些基本指令 目标4:能够使用jedis完成客户端应用程序的开发 目标5:能够说出redis数据持久化的两种方式,各自相关的操作配置及指令,以及两种方式的优缺点比较 1. Redis ...
快速上手SpringBoot1.X
Spring Boot技术栈(快速上手SpringBoot) 本篇带大家搭建开发环境,感受SpringBoot快速开发带来的好处 SpringBoot简介Spring Boot 是一套全新的框架,它来自于 Spring 大家族,因此 Spring 所有具备的功能它都有,而且更容易使用;Spring Boot 以约定大于配置的核心思想,默认帮我们进行了很多设置,多数 Spring Boot 应用只需要很少的 Spring 配置。Spring Boot 开发了很多的应用集成包,支持绝大多数开源软件,让我们以很低的成本去集成其他主流开源软件。 Spring Boot 所集成的技术栈,几乎都是各互联网公司在使用的技术,按照 Spring Boot 的路线去学习,基本可以了解国内外互联网公司的技术特点。 Spring Boot 和微服务架构都是未来软件开发的一个大趋势,越早参与其中受益越大。 1.开发环境搭建1.创建和导入项目 访问 http://start.spring.io/ 选择构建工具 Maven Project、Spring Boot 版本 1.5.8 及一些工程基本信息,可参考下图 ...
Spring整合MyBatis
案例介绍使用spring整合mybatis技术,完成账户模块(Account)的基础增删改查功能 表结构如下 列名 类型 id int 主键、自增 name varchar(24) 姓名,字符串,最多24个字符 money double(10,2) 账户余额,最大值99999999.99。小数点前最多8位,小数点后最多2位。本案例使用double类型,实际开发中使用decimal(10,2) XML方式整合第一步 引入依赖需要引入mysql,mybatis,spring,druid连接池,以及整合mybatis和spring的依赖 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869<dependencies> <!--Lombok--> <dependency> <groupId>o ...
Springmvc概述及原理
1 SpringMVC 概述三层架构 表现层:负责数据展示 业务层:负责业务处理 数据层:负责数据操作 MVC(Model View Controller),一种用于设计创建Web应用程序表现层的模式 Model(模型):数据模型,用于封装数据 View(视图):页面视图,用于展示数据 jsp html Controller(控制器):处理用户交互的调度器,用于根据用户需求处理程序逻辑 Servlet SpringMVC 2 入门案例2.1 入门案例制作①导入SpringMVC相关坐标 1234567891011121314151617181920212223242526272829303132<!-- servlet3.1规范的坐标 --><dependency> <groupId>javax.servlet</groupId> <artifactId>javax.servlet-api</artifactId> <version> ...