- 博客(170)
- 收藏
- 关注
原创 Gateway
在微服务架构中,通常一个系统会被拆分为多个微服务,微服务之间的调用可以用OpenFeign,但面对这么多微服务客户端调用会遇到哪些问题呢?每个服务都需要鉴权、限流、跨域访问、权限验证等操作,如果每个微服务各自为战,会很麻烦。对于客户端来说,每个微服务都分配一个域名的话,客户端代码会很难维护,而且连接数也会有瓶颈.随着一个项目的微服务的增多,后期对微服务进行重构的话,也会变的非常麻烦,需要客户端配合一起修改。
2022-12-27 18:55:56 1474
原创 JMeter
Apache JMeter 是 Apache 组织基于 Java 开发的压力测试工具,用于对软件做压力测试。JMeter 最初被设计用于 Web 应用测试,但后来扩展到了其他测试领域,可用于测试静态和动态资源,如静态文件、Java 小服务程序、CGI 脚本、Java 对象、数据库和 FTP 服务器等等。JMeter 可对服务器、网络或对象模拟巨大的负载,在不同压力类别下测试它们的强度和分析整体性能。另外,JMeter 能够对应用程序做功能/回归测试,通过创建带有断言的脚本来验证程序是否返回了期望结果。
2022-12-26 19:39:10 1865
原创 Sentinel的规则
Sentinel系统自适应限流从整体维度对应入口流量进行控制,结合应用的Load、cup使用率、总体平均RT、入口QPS和并发线数等几个维度的监控指标,通过自适应的流控策略,让系统的入口流量和系统的负载达到一个平衡,让系统尽可能跑在最大吞吐量的同时保证系统整体的稳定性。例如:以下配置的含义为:如果1秒内持续进入大于等于5个请求,并且请求响应的时间大于1000ms时,这个请求即为慢调用,当慢调用的比例大于0.5时会触发降级,熔断时间为5秒。让请求以均匀的速度通过,单机阈值为每秒通过数量,其余的排队等待。
2022-12-24 20:25:21 1816
原创 Sentinel
Sentinel 是面向分布式服务架构的轻量级流量控制产品,是高可用防护组件,主要以流量为切入点,从流量控制、熔断降级、系统负载保护等多个维度来帮助您保护服务的稳定性。除了流量控制以外,对调用链路中不稳定的资源进行熔断降级也是保障高可用的重要措施之一。一个服务常常会调用别的模块,可能是另外的一个远程服务、数据库,或者第三方 API 等。例如,支付的时候,可能需要远程调用银联提供的 API;查询某个商品的价格,可能需要进行数据库查询。然而,这个被依赖服务的稳定性是不能保证的。
2022-12-23 19:46:14 825
原创 谈谈商城项目
3、我们在写项目的过程中其实最重要的一点就是要将我们的技术落地于现实场景中,我们对于技术的使用固然重要,但不是任何听起来高大上的技术我们都要在项目中去使用,我们在实现项目的时候,对于技术使用的合理性和恰当性是我们从小白走向高级架构师必备技能。1、作为学生而言,刚学完SSM框架,很多基础掌握不牢靠,因此针对初学者而言,需要一个项目来巩固我们的知识点,在我们软件开发领域,因为电商的兴起,使得我们商城网站等项目都运用十分广泛,由于其复杂的业务模块,因此在技术上,也是我们SSM框架的最佳实践应用。
2022-12-22 23:01:04 343
原创 VUE-router
vue-router是vue.js官方路由管理器。vue的单页应用是基于路由和组件的,路由用于设定访问路径,并将路径和组件映射起来。传统页面切换是用超链接a标签进行切换。但vue里是用路由,因为我们用Vue做的都是单页应用,就相当于只有一个主的index.html页面,所以你写的标签是不起作用的,你必须使用vue-router来进行管理。路由跳转的方式接收的页面中的vue对象中: this.$route.query.id完整案例:创建News.vue组件
2022-12-21 23:44:25 482
原创 前端工程化VUE-cli
运行入口文件main.js以后会新建一个Vue实例,在Vue实例中,通过mount(“#app”)告诉该实例要挂载的地方,即实例装载到index.html中的位置。而Vue实例中的内容就在App.vue中,也就是App.vue中的template里的内容会装载到index.html里的id="app"的div里面。在自己的开发软件里打开创建出来的项目,我这里用vscode打开,打开方式是, 文件–>打开文件夹–>选择之前创建的vue项目文件夹。在运行窗口下,按“Ctrl+C”,输入“y”,即可终止服务。
2022-12-20 20:53:34 530
原创 Axios异步通信
Axios是一个类库,基于Promise管理的HTTP 库,是前端通信框架,可以用在浏览器和 node.js 中。axios实现了对ajax的封装,常用于Ajax请求。注解:promise是Java Script的一个对象,代表了未来将要发生的事件,用来传递异步操作的消息。
2022-12-18 23:49:41 992
原创 vue组件
vue的选项很多,除了前面用到的el,data,methods等,还有其它的。因为html中不能直接使用vue页面的内容,需要用到插件http-vue-loader。组件(Component)是 Vue.js 最强大的功能之一。组件可以扩展 HTML 元素,封装可重用的代码。2.在html页面中导入vue组件并使用。1.将组件内容写入一个vue页面中。
2022-12-17 21:27:10 483
原创 vue数据双向绑定
Vue.js 是一个 MVVM 框架,即数据双向绑定,即当数据发生变化的时候,视图也就发生变化,当视图发生变化的时候,数据也会跟着同步变化。这也算是 Vue.js 的精髓之处了。值得注意的是,我们所说的数据双向绑定,一定是对于 UI 控件来说的,非 UI 控件不会涉及到数据双向绑定。单向数据绑定是使用状态管理工具的前提。如果我们使用 vuex,那么数据流也是单项的,这时就会和双向数据绑定有冲突。
2022-12-16 23:33:41 7593 1
原创 vue实例的生命周期
Vue 实例有一个完整的生命周期,也就是从开始创建、初始化数据、编译模板、挂载 DOM、渲染→更新→渲染、卸载等一系列过程,我们称这是 Vue 的生命周期。通俗说就是 Vue 实例从创建到销毁的过程,就是生命周期。在 Vue 的整个生命周期中,它提供了一系列的事件,可以让我们在事件触发时注册 JS 方法,可以让我们用自己注册的 JS 方法控制整个大局,在这些事件响应方法中的 this 直接指向的是 Vue 的实例。生命周期钩子:就是生命周期事件的别名。生命周期钩子又叫生命周期函数 也叫生命周期事件。
2022-12-16 01:51:17 294
原创 vue简介
Vue.js是一个构建数据驱动的 web 界面的渐进式框架。Vue.js 的目标是通过尽可能简单的 API 实现响应的数据绑定和组合的视图组件。核心是一个响应的数据绑定系统。
2022-12-15 00:20:44 2493
原创 springboot+vue
在根目录下创建配置文件vue.config.js,里面设置端口。在vscode的菜单“终端”中,选择“新终端”。打开的新终端中输入如下命令安装。完整的main.js文件。安装完成后导入到项目中。安装完整后导入到项目中。输入如下命令安装qs。
2022-12-12 23:48:36 574
原创 springboot整合Swagger在线文档
Swagger是一款开源工具,依据OpenAPI规范(OpenAPI Specification,简称OAS)可以帮助你设计,构建,生成文档,调用REST APIs。
2022-12-10 16:11:44 489
原创 springboot中统一日志管理
一般分为两个大类:操作日志和系统日志**操作日志:**用户在操作软件时记录下来的操作步骤,便于用户自己查看。主要针对的是用户。**系统日志:**系统日志是记录系统中硬件、软件和系统问题的信息,同时还可以监视系统中发生的事件。用户可以通过它来检查错误发生的原因,或者寻找受到攻击时攻击者留下的痕迹。系统日志包括系统日志、应用程序日志和安全日志。主要针对的是软件开发人员(包括测试、维护人员)。日志的作用:日志是系统运行的“照妖镜”,通过它能够实时反映系统的运行状态;
2022-12-08 22:21:02 2286 1
原创 springboot中如何实现跨域请求
我们知道Url的一般格式:协议 + 域名(子域名 + 主域名) + 端口号 + 资源地址比如:https://www.itquanmingxing.cn:8080/users 是由https + www + itquanmingxing.cn + 8080 + users组成。只要协议,子域名,主域名,端口号这四项组成部分中有一项不同,就可以认为是不同的域,不同的域之间互相访问资源,就被称之为跨域。而我们的浏览器默认是不允许跨域请求的,因为它们都使用了同源策略,同源策略是由 Netscape 提出的一个著名
2022-12-07 20:25:14 3577
原创 springboot构建RESTful 风格应用
前后端不分离:前后端分离:前面我们讲解了前后端不分离不分离模式,现在来讲解一下前后端分离模式怎么实现.3.什么是RESTful为了在团队内部形成共识、防止个人习惯差异引起的混乱,我们需要找到一种大家都觉得很好的接口实现规范,而且这种规范能够让后端写的接口,用途一目了然,减少双方之间的合作成本。所以出现了接口服务架构,目前市面上大部分公司开发人员使用的接口服务架构主要有:restful、rpc。REST:那Rest是什么呢,它是一种架构风格,就像气象局建立API时要遵守的一种规则,可以是Rest也可
2022-12-06 22:41:29 1671
原创 7.springboot中整合Jpa多数据源
在使用Mybatis时会涉及多数据源的问题,同样,当我们使用Jpa作为持久化处理方式时,也会涉及多数据源的问题,本节我们来讲解一下Springboot如何整合Spring data Jpa多数据源。添加lomboc,web,spring data jpa, mysql依赖默认Mysql驱动时8,如果本机安装的Mysql是5,需要手动修改版本 ,修改后的依赖信息如下:添加 Druid连接池依赖创建好的项目结构如下:boot1和boot2application.properties中配置两个数据源4.创
2022-12-05 21:39:59 894
原创 springboot中使用Spring Data Jpa
ORM即Object-Relationl Mapping,它的作用是在关系型数据库和对象之间作一个映射,这样,我们在具体的操作数据库的时候,就不需要再去和复杂的SQL语句打交道,只要像平时操作对象一样操作它就可以了 。在ORM出现之前,我们是用jdbc来操作数据库,但jdbc没有封装,对于大项目来说,使用复杂,也难以实现MVC的概念,所以人们就开发了ORM框架来解决这些问题。比如Hibernate,Mybatis,不过Hibernate是完全的ORM框架,mybatis是半ORM框架,因为它需要手动建表和自
2022-12-04 20:33:58 873
原创 Springboot整合mybatis多数据源
场景1:一个商城网站,一个游戏网站,商城网站已经做好,游戏网站正在开发,游戏网站上的很多道具需要用到商城网站的产品数据,这种情况最好是用两个数据库,商城网站更多的是设计直接交易,涉及金钱方面较多,需要较安全的数据库和网络环境,而游戏网站一般人流量比较大,若和商城放一起占用的数据库、网络、带宽资源较大,而且更容易被攻击,这样很容易影响商城 的正常使用。而把他们独立开虽然可能成本稍高,但是能够保证其中一个网站或数据库挂掉不会影响另一个,大大降低安全风险。场景2:随着时间和业务的发展,数据库中的数据量增长是不可控
2022-12-03 22:30:04 2855
原创 4.springboot中整合Mybatis
在 Spring+SpringMVC 中整合 MyBatis 步骤需要在配置文件里配置多个 Bean,比如MapperScannerConfigurer,SqlSessionFactoryBean 等,步骤还是比较复杂的,Spring Boot 中对此做了进一步的简化,使 MyBatis 基本上可以做到开箱即用,本章来学习怎么在 Spring Boot 中整合Mybatis,也就是搭建SSM环境。方式2和方式1相比,主要是mapper文件的区别,所以除了第4和第7步有点不一样以外,其它步骤相同。
2022-12-02 21:01:13 844
原创 springboot中如何访问静态资源
我们在使用 SpringMVC 框架时,静态资源会被拦截,所以我们需要添加额外配置过滤静态资源,让其不被拦截。那么在Springboot中怎么配置呢。
2022-12-01 23:07:29 684
原创 Spring Boot中添加Thymeleaf模板
前面我们讲解了Spring Boot项目的创建、Spring Boot结构信息,自动配置功能等,那么Springboot创建出来,我们最终是要做web开发的,所以我们这章讲解如何用SpringBoot做web开发。
2022-11-30 20:52:54 597
原创 springboot项结构分析
如果将@SpringBootApplication注解添加到类中,则无需添加@EnableAutoConfiguration,@ComponentScan和@SpringBootConfiguration注解.@SpringBootApplication注解包括其他所有的注解.注解将项目中的依赖项自动配置到应用程序中.例如,如果MySQL数据库在类路径上,但尚未配置任何数据库连接,则Spring Boot会自动配置内存数据库.注解自动扫描项目中的所有组件,并且Spring Boot会根据。
2022-11-29 22:43:35 1754 1
原创 springboot项目搭建
Spring Boot是由Pivotal团队提供的全新框架,其设计目的是用来简化新Spring应用的初始搭建以及开发过程。该框架使用了特定的方式来进行配置,从而使开发人员不再需要定义样板化的配置。使用Spring Boot很容易创建一个独立运行(运行jar,内嵌Servlet容器),准生产级别的基于Spring框架的项目,使用Spring Boot你可以不用或者只需要很少的Spring配置.
2022-11-28 23:41:30 4723
原创 redis
NoSQL(NoSQL = Not Only SQL ),意即“不仅仅是SQL”,泛指非关系型的数据库.它们都有些共同的特征:不需要预定义模式:不需要事先定义数据模式,预定义表结构。数据中的每条记录都可能有不同的属性和格式。当插入数据时,并不需要预先定义它们的模式。弹性可扩展:可以在系统运行的时候,动态增加或者删除结点。不需要停机维护,数据可以自动迁移。NoSQL代表MongDB、 Redis、Memcache.
2022-11-27 22:18:55 392
原创 网站上线步骤
我当时租用的是阿里云的服务器,域名也是在阿里那里注册购买的,当然备案也可以通过阿里进行代办,只要进入备案系统,按照要求提交材料就可以了,值得注意的是,如果是个人网站的话,我们在填写网站名称的时候一定要注意它的要求,要不然的话可能就会不符合网站名的要求,导致不能通过审核。在租用服务器的时候,有许多的启动套餐,可以为你预装很多软件,比如可以提前给你装好jdk,数据库,web容器等,当然了我选择了裸机,因为我是租用服务器来学习的,所有我想自己装所有的东西,除了操作系统,因为这个在租用的时候就得定下来。
2022-11-25 21:26:59 3118
原创 怎样放行8080端口
centos7已经开始使用firewall作为防火墙,而不是iptables了,所以,开放8080端口就和以往不一样了,那么该怎么开放8080端口呢?下面我们就来看看详细的教程。2、我们可以输入命令查看防火墙的状态;1、连接centos7服务器;
2022-11-24 23:40:38 2965
原创 如何部署商城项目
修改数据库的连接信息,另外注意,之前windows里配置文件的变量名可以直接用uname,pwd,linux下在变量名前加一个前缀,比如jdbc。 如果数据库和服务器是在同一台电脑上,这里的服务器ip可以用localhost。 在商城项目的pom文件resources节点里面添加下面内容(已添加的忽略) 进入tomcat/bin目录 输入./startup.sh。 这一步是为了保证所有的xml文件可以打包进war文件。3 .从上图本地仓库中复制war文件。
2022-11-23 23:46:10 398
原创 Linux下常用安装软件的方式
由于该程序为了运行得更快而使用了 chdir 子例程,所以用 -M、-S 和 -B 标志目录列表给出的路径名必须是完整的;汇编器、连接器检查等等,如果有需要,还可以使用-prefix参数来指定程序的安装路径,而当脚本检查系统环境符合要求后,注:如果其他程序依赖要卸载的包,系统会提示不能删除,若需要强行删除加上--nodeps,会强制删除,但可能导致。的格式,用户根据系统情况选择适合的RPM包直接安装,而源码包相当于通用型,可以是用于多个系统中,所以需要。-S 与 -s 一样,但是添加了要搜索的目录。
2022-11-21 21:27:21 560
原创 OpenJDK与JDK的区别分析
在JDK7的时候,OpenJDK已经成为JDK7的主干开发,Sun JDK7是在OpenJDK7的基础上发布的,其大部分原始码都相同,只有少部分原始码被替换掉。这个很容易理解,在安装OpenJDK的机器上,输入“java -version”显示的是OpenJDK,但是如果是使用Icedtea补丁的OpenJDK,显示的是java。然而最简单直白的理解,也属于个人理解:OpenJDK是JDK的开源代码,也不算全是,因为在JDK部分,有一些是Oracle未开放源代码的,还有就是有一些的历史原因。
2022-11-20 21:02:35 8652 1
原创 linux上如何搭建Java环境
通过这种方式安装的软件,不仅完全契合你的操作系统本身,而且可以保证和系统其他软件包的相容性,一般来说是不可能遇到冲突的。yum并不是一种包,它是安装包的一个软件,在CentOS中是软件包的管理器,yum也对依赖关系进行管理,但是必须要在联网的情况下完成。你可以把它解压到你自己的用户目录,然后在自己的bash.rc之类配置文件中,用export把它加入path——这样你才可以直接在shell中敲它提供的新命令。其中一些面对服务器的版本会非常保守,里面的每一个软件都会经过连续多年的测试,稳定度极高。
2022-11-19 15:57:08 20723 2
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人