- 博客(34)
- 资源 (1)
- 收藏
- 关注

原创 SpringCloud入门使用
一、SpringCloud简介:SpringCloud就是为了完成微服务开发的,其中有很多组件需要学习初识SpringCloud(1)、微服务框架 微服务是系统架构上的一种设计风格,它的主旨是将一个原本独立的系统拆分成多个小型服务,这些小型服务都在各自独立的进程中运行,服务之间一般通过HTTP的RestFul API进行通信写作。 被拆分成的每一个小型服务都围绕着系统中的某一项或些耦合度较高的业务功能进行构建,并且每个服务都维护着白身的数据存储、业务开发自动化测试案例以及独立部署机制。
2021-08-27 15:07:25
323
原创 MERGE INTO的使用
MERGE INTO用法:meger into主要用在修改和增加操作中大致意思是:判断一个条件,如果满足执行update,不满足执行insert<update id="updateXxh" parameterType="java.util.Map" > MERGE INTO table USING dual ON (XXHID=#{xxhid}) WHEN MATCHED THEN update set BT = #{bt} <if t
2021-11-26 17:03:13
1504
原创 HttpServletRequest转Map
HttpServletRequest对象转Mappackage com.tianyi.controller;import org.springframework.web.bind.annotation.GetMapping;import org.springframework.web.bind.annotation.RequestMapping;import org.springframework.web.bind.annotation.RestController;import javax.
2021-11-23 13:40:20
2036
原创 正向代理和反向代理
正向代理和反向代理一、什么是代理? 代理,在汉语中的意思是指以他人的名义,在授权范围内进行对被代理人直接发生法律效力的法律行为。其实就相当于中介,住房有中介,找工作也有中介,因为他们的资源比你多,消息比你广,同样的事情做起来比你更方便,所以才出现中介(代理)。 在计算机最初的时候,代理多数是为了帮助内网访问外网才用到的,后来就出现了反向代理。你从内网访问外网,这叫正向代理,是最初的代理。后来,大家发现不仅仅是内网访问外网这种方式了,还需要外网访问内网呀,这样外网访问内网就是反向代理。 重
2021-11-22 16:42:32
2193
2
原创 Sleuth+Zipkin 链路追踪
Sleuth+Zipkin 链路追踪一、Sleuth+Zipkin 链路追踪介绍 Spring Cloud Sleuth 其实是一个工具,它在整个分布式系统中能跟踪一个用户请求的过程,捕获这些跟踪数据,就能构建微服务的整个调用链的视图,这是调试和监控微服务的关键工具。优点:耗时分析可视化错误链路优化Zipkin 是 Twitter 的一个开源项目,它致力于收集服务的定时数据,以解决微服务架构中的延迟问题,包括数据的收集、存储、查找和展现。二、入门案例:步骤:1.安装启动zipki
2021-08-27 14:52:33
220
原创 Stream消息驱动
Stream消息驱动一、Stream介绍: Spring Cloud Stream 是一个构建消息驱动微服务应用的框架。 Stream 解决了开发人员无感知的使用消息中间件的问题,因为Stream对消息中间件的进一步封装,可以做到代码层面对中间件的无感知,甚至于动态的切换中间件,使得微服务开发的高度解耦,服务可以关注更多自己的业务流程。(就像JDBC一样的感觉) Spring Cloud Stream目前支持两种消息中间件RabbitMQ和Kafka其实就是想用同一套的代码去使用不同的
2021-08-27 14:22:14
226
原创 Bus消息总线
Bus消息总线:一、Bus消息总线介绍: Spring Cloud Bus 是用轻量的消息中间件将分布式的节点连接起来,可以用于广播配置文件的更改或者服务的监控管理。关键的思想就是,消息总线可以为微服务做监控,也可以实现应用程序之间相通信。 Spring Cloud Bus 可选的消息中间件包括 RabbitMQ 和 Kafka 。[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-c1PdXtHH-1630044660331)(C:\Users\Administr
2021-08-27 14:15:27
606
原创 RabbitMQ Windows 安装
RabbitMQ Windows 安装一、安装Erlang双击资料中提供的 otp_win64_22.1.exe ,选择对应安装目录,一路下一步,完成安装。设置Erlang环境变量(1)新建ERLANG_HOME (2)修改环境变量path,增加Erlang变量至path,%ERLANG_HOME%\bin; (3)打开cmd命令框,输入erl,如果能看到版本号,则Erlang安装完成。二、安装RabbitMQ双击资料中提供的 rabbitmq-server-3.7
2021-08-26 14:45:23
214
原创 Config分布式配置中心
Config分布式配置中心Config一般配合bus消息总线一块使用一、Config介绍:Spring Cloud Config 解决了在分布式场景下多环境配置文件的管理和维护。好处:集中管理配置文件不同环境不同配置,动态化的配置更新配置信息改变时,不需要重启即可更新配置信息到服务[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-7429CAzW-1629920086935)(C:\Users\Administrator\AppData\Roaming\Typ
2021-08-26 03:35:08
215
原创 GateWay网关
GateWay网关一、网关概述网关旨在为微服务架构提供一种简单而有效的统一的API路由管理方式。在微服务架构中,不同的微服务可以有不同的网络地址,各个微服务之间通过互相调用完成用户请求,客户端可能通过调用N个微服务的接口完成一个用户请求。存在的问题:客户端多次请求不同的微服务,增加客户端的复杂性。(如果服务提供方变更了请求地址,那客户端也得修改,这样很麻烦。)认证复杂,每个服务都要进行认证http请求不同服务次数增加,性能不高 网关就是系统的入口,封装了应用程序的内部结构,为客户端提
2021-08-26 01:25:25
312
原创 gateway内置过滤器工厂
Spring Cloud Gateway 内置的过滤器工厂内置的过滤器工厂这里简单将Spring Cloud Gateway内置的所有过滤器工厂整理成了一张表格。如下:过滤器工厂作用参数AddRequestHeader为原始请求添加HeaderHeader的名称及值AddRequestParameter为原始请求添加请求参数参数名称及值AddResponseHeader为原始响应添加HeaderHeader的名称及值DedupeResponseHea
2021-08-26 01:19:54
357
原创 Hystrix熔断器
Hystrix熔断器一、Hystrix熔断器概述Hystix 是 Netflix 开源的一个延迟和容错库,用于隔离访问远程服务、第三方库,防止出现级联失败(雪崩)。雪崩:一个服务失败,导致整条链路的服务都失败的情形。Hystix 主要功能:隔离:线程池隔离(线程池的线程数量是固定的,如果调用一个服务没有响应,那么那条线程也不会返回线程池,当程序调用这个有问题的服务次数多了,线程自然而然就不够了,也就造成了其他服务没有线程可以调用了。解决办法:线程池内的线程按照一定的规则分配固定数量调用服务
2021-08-24 16:41:27
665
原创 Turbine搭建步骤
Turbine聚合监控一、搭建监控模块1. 创建监控模块创建hystrix-monitor模块,使用Turbine聚合监控多个Hystrix dashboard功能,2. 引入Turbine聚合监控起步依赖<?xml version="1.0" encoding="UTF-8"?><project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSch
2021-08-24 16:35:33
242
原创 Feign远程调用
Feign远程调用一、Feign简介 Feign 是一个声明式的 REST 客户端,它用了基于接口的注解方式,很方便实现客户端配置。 Feign 最初由 Netflix 公司提供,但不支持SpringMVC注解,后由 SpringCloud 对其封装,支持了SpringMVC注解,让使用者更易于接受。(所以引用的依赖是open-feign)二、Feign入门1.在消费端引入 open-feign 依赖<!--feign--><dependency> &
2021-08-24 11:15:47
385
原创 Ribbon的基本使用
Ribbon一、概述 Ribbon是Netflix公司提供的一个基于HTTP和TCP的客户端负载均衡工具。 Eureka中自带Ribbon了! Ribbon主要有两个功能:简化远程调用负载均衡客户端负载均衡:负载均衡算法在服务端由负载均衡器维护服务地址列表服务端负载均衡:负载均衡算法在客户端客户端维护服务地址列表二、入门案例:简化远程调用:步骤:使用 Ribbon 简化restTemplate调用1. 在声明restTemplate的Be
2021-08-23 20:24:33
4217
1
原创 Nacos服务治理
Nacos服务治理一、Nacos介绍: Nacos(Dynamic Naming and Configuration Service) 是阿里巴巴2018年7月开源的项目。 它专注于服务发现和配置管理领域 致力于帮助您发现、配置和管理微服务。Nacos 支持几乎所有主流类型的“服 务”的发现、配置和管理。 一句话概括就是**Nacos = Spring Cloud注册中心 + Spring Cloud配置中心。**比Consul和Eureka性能方面都要好一些,比较新,而且经得起考验! 官
2021-08-22 14:19:20
218
原创 Consul服务治理
Consul服务治理一、Consul介绍: Consul 是由 HashiCorp 基于 Go 语言开发的,支持多数据中心,分布式高可用的服务发布和注册服务软件。 用于实现分布式系统的服务发现与配置。 使用起来也较 为简单。具有天然可移植性(支持Linux、windows和Mac OS X);安装包仅包含一个可执行文件,方便部署 。 官网地址: https://www.consul.ioconsul的使用:在consul.exe的所在目录中按住shift右键空白区域,选中win
2021-08-22 13:26:48
420
原创 Eureka
Eureka入门案例:案例Gitee地址:https://gitee.com/tianyinetwork/hei-ma-learn.git搭建总流程:1.搭建 Provider 和 Consumer 服务。2.使用 RestTemplate 完成远程调用。3.搭建 Eureka Server 服务。4.改造 Provider 和 Consumer 称为 Eureka Client。5.Consumer 服务 通过从 Eureka Server 中抓取 Provider 地址 完成 远程调用
2021-08-22 11:42:45
621
原创 Eureka的全部配置
Euraka配置详解Eureka包含四个部分的配置instance:当前Eureka Instance实例信息配置client:Eureka Client客户端特性配置server:Eureka Server注册中心特性配置dashboard:Eureka Server注册中心仪表盘配置Eureka Instance实例信息配置Eureka Instance的配置信息全部保存在org.springframework.cloud.netflix.eureka.EurekaInstanceCo
2021-08-22 11:37:05
325
原创 Docker安装与实践
Docker安装:安装Docker可以使用两种方式:一种是离线安装,一种是在线安装方式。在线安装Docker步骤:卸载旧版:sudo yum remove docker-cedocker-ce-clientdocker-client-latestdocker-commondocker-latestdocker-latest-logrotatedocker-logrotatedocker-engine安装yum工具yum install -y yum-utils设
2021-08-07 15:06:49
184
原创 景点数据库设计(个人版)
旅游网站初审总览:表名字段名备注景区表scenic景区详情表details用户表user航班信息表flight公告信息表notice景点表: scenic名称字段名类型备注景点编号scenic_idint主键图片URLscenic_urlvarchar(100)景点详情idscenic_外键景区详情表: details名称字段名类型备注景区详情
2021-07-28 21:42:31
3147
原创 校园订餐系统数据库
前台模块前台主要功能有:用户注册、用户登录、我的购物车、我的订单、商品评论、校园资讯2. 后台模块后台主要功能有:用户管理、商品管理、订单管理、评论管理、资讯管理等名称表名备注category类别表customer顾客表order_订单表orderitem订单内容表product产品表role角色表user用户表user_role用户权限表comment咨询表category(类别
2021-07-15 16:36:50
2994
1
原创 HTTP基本知识
HTTP一、什么是HTTP协议? HTTP是一种超文本传输协议,是一个基于请求和响应无状态的应用层协议,基于TGP/IP协议传输数据,基于TGP之上,是一个标准协议. 无状态:指协议对于交互式性场景没有记忆能力,就是说你每次的请求都是一个全新的请求,请求和请求之间是相互独立的,服务器不会记录客户端的请求信息。 那问题来了,服务器不能记录用户信息,那怎么识别客户端的身份呢?答案是使用Session和Cookie.二、HTTP协议组成HTTP请求Request的四部分组成:请求行:
2021-07-08 15:08:51
877
原创 SpringMVC
SpringMVC知识一、SpringMVC流程:什么是SpringMVC? SpringMVC是一个基于Java实现了MVC设计模式的请求驱动类型的轻量级Web框架,通过把Model、View、Controller分离,将web层进行职责解耦,把复杂的web应用分成逻辑清晰的及部分,简化开发,减少出错,方便组内开发人员之间的配合。啥是MVC设计模式?MVC是模型(Model)、视图(View)、控制器(Controller)的简写,是一种软件设计规范。MVC是业务逻辑、数据、显示
2021-07-06 19:13:44
310
2
原创 Java集合
java集合介绍: java中的集合层次结构分为单列集合(Collection)和双列集合(Map),(其实就是一个节点能存储几个数据的区别,单列集合,一个节点存一个;双列集合,一个节点存两个数据,键和值)Collection(单列集合) collection是一个顶级的父类接口,JDK中没有提供实现类,提供了基本的管理元素的抽象方法,Collection有两个子接口,分别是List和set接口List接口List集合继承了Collection接口,所以继承了Collection的
2021-07-02 20:05:49
217
原创 前后端交互
前后端交互一、JSON结构:1、json介绍:同源策略只会出现在ajax中JSON是一种轻量级的数据交换格式,它使得人们很容易的进行阅读和编写。同时也方便了机器进行解析和生成。它是基于JavaScript Programming Language,Standard ECMA-262 3rd Edition - December 1999 的一个子集。JSON采用完全独立于程序语言的文本格式,但是也使用了类C语言的习惯(包括C, C++, C#, Java, JavaScript, Perl, Pyth
2021-06-28 18:52:35
3642
原创 酒店管理系统数据库
酒店管理系统数据库设计表名字段名备注房间room客户customer员工worker管理员manager客户类别ustomerType入住记录inHistory退房记录outHistory房间:room属性名字段名类型备注房间号roomIdint主键房间类型roomTypevarchar(10)房间价格roomPricefloat房间状态roomSta
2021-06-25 19:28:31
5392
原创 MyBatisPlus
MyBatisPlus一、介绍:MyBatis-Plus(简称MP)是一个MyBatis的增强工具,在MyBatis的基础上只做增强不做改变,为简化开发、提升效率而生。二、为什么使用MyBatis-Plus?使用MyBatis或者是其他的持久层框架或技术实现CRUD操作,逻辑思路简单,但操作实现繁琐,如果大量的重复代码由程序媛来实现,未免有些影响效率,所以我们使用MyBatisPlus这种简化开发的工具来帮助我们快速开发注意:MyBatisPlus主要完成单表的CRUD操作简化开发三、MyBa
2021-06-25 18:57:11
356
原创 SpringBoot高级用法
SpringBoot高级用法Spring热部署热部署说明:每次修改代码之后,需要手动的重启服务器,在开发阶段能否有一种高效的机制,每次修改代码之后程序自动重启呢?答案:是有的,那便是热部署操作:在pom文件中添加jar包文件<-- SpringBoot核心机制:"开箱即用" 什么叫"开箱即用"?只需要导入特定的jar包文件,则可以直接使用其中的功能 根据原因:SpringBoot是对框架的简化,内部进行了扩展,无需程序媛操作,其实,在框架内部对ja
2021-06-25 18:55:09
330
原创 类加载机制
类加载机制一、类的生命周期(java文件->java虚拟机内存->卸载):加载验证准备解析初始化使用卸载其中:加载,验证,准备,初始化,卸载五部的顺序是固定的。二、类的加载过程:加载:查找并加载类的二进制数据(class类)方法区:类的类信息堆:Class文件对应的类实例验证:确保加载的类信息是正确的准备:为类的静态变量进行初始化,分配空间并赋予初始值解析:是将符号引用转换为直接引用初始化:JVM对类进行初始化,对静态变量赋予正确值静态代码块
2021-06-03 16:52:48
142
原创 IDEA使用设置
IDEA实用教程IDEA简介1.简介IDEA 全称IntelliJIDEA,是java语言开发的集成环境。IDEA是JetBrains公司的产品。JetBrains官网 :https://www.jetbrains.com/IntelliJ在业界被公认为最好的java开发工具之一,尤其在智能代码助手、代码自动提示、重构、J2EE支持、Ant、JUnit、CVS整合、代码审查方面。了解:JetBrains公司开发的所有工具。2.下载下载地址:https://www.jetbra
2021-06-02 20:10:34
878
原创 数据库基本知识
数据库1、数据库设计三范式: 1NF:数据库表中的每一列都是不可再分的属性值,确保每一列的原子性,两列的属性相近或相似或一样,尽量合并属性一样的列,确保不产生冗余数据。 2NF:确保表中的每列都和主键相关,在一个数据库表中,一个表中只能保存一种数据,不可以把多种数据保存在同一张数据库表中。3NF:确保每列都和主键列直接相关,而不是间接相关2、关系型数据库有:MySql、SqlServer、Oracle3、什么是关系型数据库?采用关系模型来组织数据的数据库,其以行和列的形式组织数据,一
2021-06-02 16:24:42
128
原创 MySQL
MySQL一、SQL语句分类:DDL数据定义语言:创建数据库,创建表DML数据操纵语言,对表进行增删改DQL数据查询语言,对表进行查询操作DCL数据控制语言,对用户权限的设置二、MySQL注释:单行注释:–空格多行注释:/* */特有单行注释:#三:数据库操作create database;create database if not exists db1;#创建数据库并指定字符集create database db2 character set gbk;#查看数
2021-03-30 10:06:29
1795
2
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人