Day3-SpringCloud服务调用
‘一整天没有人打扰的感觉太爽了 难得今天有一整天的时间来学习 看微服务视频跟追剧一样 根本停不下来🤣🤣🤣’ 服务调用 微服务架构中,业务都会被拆分成一个独立的服务,服务与服务的通讯是基于http restful的。Spring cloud有两种服务调用方式,一种是ribbon+restTemplate,另一种是feign(OpenFeign) Ribbon负载均衡服务调用Ribbon简介 Spring Cloud Ribbon是基于Netflix Ribbon实现的一套客户端 负载均衡的工具。 简单的说,Ribbon是Netflix发布的开源项目,主要功能是提供客户端的软件负载均衡算法和服务调用。Ribbon客户端组件提供一系列完善的配置项如连接超时,重试等。简单的说,就是在配置文件中列出Load Balancer(简称LB)后面所有的机器,Ribbon会自动的帮助你基于某种规则(如简单轮询,随机连接等)去连接这些机器。我们很容易使用Ribbon实现自定义的负载均衡算法。 关于负载均衡 LB负载均衡(Load Balance)是什么 用户 ...
Day2-SpringCloud注册中心
我不怕千万人阻挡 只怕自己投降 写在前面: SpringCloud 本来今年10月份就开始学的 然后搁置了好久 现在 书店项目基本上告一段落了 有时间来学新东西了 事实上根本没精力做到一心二用 😫 Eureka服务注册与发现服务治理什么是服务治理 Spring Cloud 封装了 Netflix 公司开发的 Eureka 模块来实现服务治理 在传统的rpc远程调用框架中,管理每个服务与服务之间依赖关系比较复杂,管理比较复杂,所以需要使用服务治理,管理服务于服务之间依赖关系,可以实现服务调用、负载均衡、容错等,实现服务发现与注册。 服务注册与发现 Eureka采用了CS的设计架构,Eureka Server 作为服务注册功能的服务器,它是服务注册中心。而系统中的其他微服务,使用 Eureka的客户端连接到 Eureka Server并维持心跳连接。这样系统的维护人员就可以通过 Eureka Server 来监控系统中各个微服务是否正常运行。 在服务注册与发现中,有一个注册中心。当服务器启动的时候,会把当前自己服务器的信息 比如 ...
风离的面试经历及面试题分享
‘进化成更好的人😉’ 今天去面试啦!!! 由于之前没有准备充分(这边指的是根本没怎么背面试题🤣)导致看见一些题目一脸懵逼 故打算记录下来 下次面试碰到起码能记起来一点点💦 Spring 中bean的注入方式 set注入 构造器注入 静态工厂的方法注入 实例工厂的方法注入 前两种在SpringIOC 注入方式中用的最多 SpringBoot核心注解 @Configuration(@SpringBootConfiguration) 任何一个标注了@Configuration的Java类定义都是一个JavaConfig配置类。 任何一个标注了@Bean的方法,其返回值将作为一个bean定义注册到Spring的IoC容器,方法名将默认成该bean定义的id。 @ComponentScan 自动扫描当前包及子包下被@Component,@Controller,@Service,@Repository注解标记的类,将其作为bean加载到IOC容器中。不指定范围则默认从注解所在类的包下进行扫描。 @EnableAutoConfiguration ...
动态规划之01背包问题
微信公众号:程序员风离 个人博客 : 点我 CSDN: 点我 欢迎━(`∀´)ノ亻!关注公众号 动态规划之01背包问题 问题引出: 一个背包最大容量为8 现有4个物品 每个物品各自有不同的容量和不同的价值 求在不超过背包最大容量的情况下最大物品价值 如图所示 物品编号 物品所需容量(weight) 物品价值(value) 1 2 6 2 3 10 3 4 12 4 5 15 设 f(k,w) k为背包最大存入物品数量 w 为背包最大容量 每一次存放物品都有两种情况 weight>8 (太重放不下) 放不下就向下走 k-1 w因为没存放物品 保持不变 f(k,w) =f(k-1,w) weight<=8 (能放下 然后选择是否存放 这里也有两种情况 ) 如果选择放下 f(k,w) = f(k-1,w-weight) + (weight,value) weight对应的value 如果选择不放下 f(k,w) = f(k-1,w) 继续向下走 例如当前是第三号物品 存放不下 就向下找 三 ...
OAuth2第三方登录流程
因为作者标注未经允许 禁止转载 故 直接贴原文链接原文链接
网上书店项目说明书
写在前面本文档手机端查看 文档查看 (浏览器扫描 或者qq扫描跳转浏览器打开~~) 或者浏览器输入 flya.top😃 项目成员介绍 前端: 软1904苏才华 QQ:2813319028 后端: 软1905风离(网名)QQ: 1906249747 CSDN Github 项目所用技术栈介绍 项目地址: 前端 后端 项目协作平台: Gitee 后端仓库 Gitee前端仓库 前端:HTML,CSS,JS,Vue,VueX,ElmentUi(基于Vue的美化框架),Axios,ElmentUi后台模板 关于Vue 关于ElementUi 关于Axios 接口文档:Swagger2.0(前后端接口文档生成) 接口文档地址 后端基础框架:Java1.8,Spring,SpringMVC,SpringBoot,MybatisPlus(自动生成MVC基础结构) 关于SpringBoot 关于MVC架构 关于MyBatisPlus 安全框架:Shiro(权限授权认证)查看详细解释 日志打印:log4j (代替 ...
记忘歌
记得 两人挤在伞下的温暖 记得 各湿半边的衣衫 记得 淡紫丁香垂头丧气的雨天 最记得 勇敢踮起脚尖 记得转起的笔 敲响在桌面 记得下课铃 那么慢 记得偶尔不安 想未来好远 抬眼 又绽开笑颜 记得长长耳机连线 你选的哪一半 忘了窗外站台 亮起终点 记得踩碎灿金落叶 满地清脆缠绵 忘了云 融淡这画面 记得 勾起手指最紧的一瞬 忘了 絮絮约定的正文 记得 说要亲手打通世界的副本 却忘了 铠甲没穿在身 忘了少年只是 少年的称谓 忘了生活比 梦昂贵 忘了打包懊悔 都标成误会 统统 陪妄想成灰 忘了赶不上的夕阳 突然流下的泪 忘了那一瞬间 最挂念谁 忘了风把每场青春 吹过街头巷尾 忘了我 曾想成为谁 往事的街角 有个小小的人 满身清澈疑问 我想亲吻她的心 拥抱她不安灵魂 丁香在雨中氤氲 掌心生第一道皱纹 时光狠狠确认 最幸运的是我 不是我们 记得结局轻叩命运 忘了路过前因 忘了你 有没有转身
SpringCloud知识脑图
点我跳转出去
SpringBoot整合ElasticSearch入门
导入Maven依赖 <!--ElasticSearch--> <!--SpringBoot 集成的这个过期了 --><!-- <dependency>--><!-- <groupId>org.springframework.boot</groupId>--><!-- <artifactId>spring-boot-starter-data-elasticsearch</artifactId>--><!-- </dependency>--> <!-- 这个一定要引入,这是使用transport的jar包,搜索用到 --> <dependency> <groupId>org.elasticsearch.client</groupId> ...
ElasticSearch入门
ES概述 ElasticSearch是一个分布式,高性能、高可用、可伸缩、RESTful 风格的搜索和数据分析引擎。通常作为Elastic Stack的核心来使用,Elastic Stack大致是如下这样组成的: ES是一个近实时(NRT)的搜索引擎,一般从添加数据到能被搜索到只有很少的延迟(大约是1s),而查询数据是实时的。一般我们可以把ES配合logstash,kibana来做日志分析系统,或者是搜索方面的系统功能,比如在网上商城系统里实现搜索商品的功能也会用到ES。 ES与Mysql的概念对比 ES MySql 字段 列 文档 一行数据 类型(已废弃) 表 索引 数据库 ES面向文档 文档是所有可搜索数据的最小单元。ES的文档就像MySql中的一条记录,只是ES的文档会被序列化成json格式,保存在Elasticsearch中 这个json对象是由字段组成,字段就相当于Mysql的列,每个字段都有自己的类型(字符串、数值、布尔、二进制、日期范围类型); 当我们创建文档时,如果不指定字段的类型,Elasticsearch会帮我们自动匹配类 ...
Vue3快速上手
1.Vue3简介 2020年9月18日,Vue.js发布3.0版本,代号:One Piece(海贼王) 耗时2年多、2600+次提交、30+个RFC、600+次PR、99位贡献者 github上的tags地址:https://github.com/vuejs/vue-next/releases/tag/v3.0.0 2.Vue3带来了什么1.性能的提升 打包大小减少41% 初次渲染快55%, 更新渲染快133% 内存减少54% …… 2.源码的升级 使用Proxy代替defineProperty实现响应式 重写虚拟DOM的实现和Tree-Shaking …… 3.拥抱TypeScript Vue3可以更好的支持TypeScript 4.新的特性 Composition API(组合API) setup配置 ref与reactive watch与watchEffect provide与inject …… 新的内置组件 Fragment Teleport Suspense 其他改变 新的生命周期钩子 data 选项应始终被声明为一个函数 移除ke ...
Tomcat安装
下载Tomcat Tomcat官网 这个是免安装的 免安装即可 访问这个网址 : http://localhost:8080/ 见到这个页面就算成功了 : emmmm 为啥我这么轻松呢 因为 我之前安装过其他版本的Tomcat 如果 从未安装Tomcat就继续看下去 配置Tomcat环境变量 配置Tomcat之前要保证jdk已经配置完成!!! 配置Tomcat之前要保证jdk已经配置完成!!! 配置Tomcat之前要保证jdk已经配置完成!!! 重要的事情说三次 没配jdk的 可以百度找方法 此处不赘述 ====================================================================================================================================================================================== 直接下载安装版的 不用配置环境变量了 (最终解决方案!!)
Docker部署Nginx和Tomcat和MySql
Docker部署Nginx# 搜索镜像 docker search nginx# 下载镜像 docker pull nginx# 启动镜像 docker run -d -p 2580:80 nginx (把外部服务器2580 端口映射到nginx的80端口) 端口映射外网访问 进入nginx内部 [root@iZbp17g2ontiv6b4tu0incZ ~]# docker stop 66d211897c3866d211897c38[root@iZbp17g2ontiv6b4tu0incZ ~]# docker exec -it myNginx /bin/bashError response from daemon: Container 66d211897c38085f902f3d4ae3967b4330d5234290de8603ccf5b65d5db39026 is not running[root@iZbp17g2ontiv6b4tu0incZ ~]# docker run -d --name flnginx -p 2580:80 nginx3b3f648 ...
docker入门
Docker入门环境准备与搭建 运行环境: CentOS7 安装Docker: 下载关于Docker的依赖环境 # 1.下载关于Docker的依赖环境yum -y install yum-utils device-mapper-persistent-data lvm2# 2.设置下载Docker的镜像源yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo# 3.安装Dockeryum makecache fastyum -y install docker-ce# 4.启动Docker,并设置为开机自动启动,测试# 启动Docker服务systemctl start docker# 设置开机自动启动systemctl enable docker# 测试docker run hello-world 设置阿里云镜像仓库: sudo mkdir -p /etc/dockersudo tee /etc/docker/daemon.json <&l ...
理解cookie,session,token的区别
发展史1、很久很久以前,Web 基本上就是文档的浏览而已, 既然是浏览,作为服务器, 不需要记录谁在某一段时间里都浏览了什么文档,每次请求都是一个新的HTTP协议, 就是请求加响应, 尤其是我不用记住是谁刚刚发了HTTP请求, 每个请求对我来说都是全新的。这段时间很嗨皮 2、但是随着交互式Web应用的兴起,像在线购物网站,需要登录的网站等等,马上就面临一个问题,那就是要管理会话,必须记住哪些人登录系统, 哪些人往自己的购物车中放商品, 也就是说我必须把每个人区分开,这就是一个不小的挑战,因为HTTP请求是无状态的,所以想出的办法就是给大家发一个会话标识(session id), 说白了就是一个随机的字串,每个人收到的都不一样, 每次大家向我发起HTTP请求的时候,把这个字符串给一并捎过来, 这样我就能区分开谁是谁了 3、这样大家很嗨皮了,可是服务器就不嗨皮了,每个人只需要保存自己的session id,而服务器要保存所有人的session id ! 如果访问服务器多了, 就得由成千上万,甚至几十万个。 这对服务器说是一个巨大的开销 , 严重的限制了服务器扩展能力, 比如说我用两个机器 ...
关于DTO的理解
关于DTO\用于表现层和应用层之间的数据交互** 简单来说Model面向业务,我们是通过业务来定义Model的。而DTO是面向界面UI,是通过UI的需求来定义的。 通过DTO我们实现了表现层与Model之间的解耦,表现层不引用Model 下面是比较全面的解释。来自:”http://www.cnblogs.com/Gyoung/archive/2013/03/23/2977233.html" DTO即数据传输对象。 之前不明白有些框架中为什么要专门定义DTO来绑定表现层中的数据,为什么不能直接用实体模型呢,有了DTO同时还要维护DTO与Model之间的映射关系,多麻烦。 然后看了这篇文章中的讨论部分才恍然大悟。 摘两个比较有意义的段落。 表现层与应用层之间是通过数据传输对象(DTO)进行交互的,数据传输对象是没有行为的POCO对象,它 的目的只是为了对领域对象进行数据封装,实现层与层之间的数据传递。为何不能直接将领域对象用于 数据传递?因为领域对象更注重领域,而DTO更注重数据。不仅如此,由于“富领域模型”的特点,这样 做会直接将领域对象的行为暴露给表现层。 需要了解的 ...