SpringCloudAlibaba
SpringloudAlibabaNacosNacos(Naming Configuration 的前两个字母,最后的s为Service),注册中心+配置中心(euruka+config+bus)
Nacos中文官方home (nacos.io)
下载安装下载地址Release 1.1.4(Oct 24th, 2019) · alibaba/nacos (github.com)
安装:
本地需要java8和maven环境
直接启动/bin/startup.cmd(在项目运行时,如果要保证Nacos正常使用,那么这个窗口不可以关闭)
在浏览器中输入http://localhost:8848/nacos
默认的账号和密码都为nacos
Nacos服务注册发现中心官方文档:Spring Cloud Alibaba Reference Documentation (spring-cloud-alibaba-group.github.io)
首先要在父项目导入SpringCLoudAlibaba依赖
12345678<dependency> ...
RabbitMQ
RabbitMQ消息队列什么是MQMQ(Messge queue),从字面意思来看,本质上是一个队列,FIFO先进先出原则,只不过队列中存放的内容是消息而已,还是一种可以跨进程的通信机制,用于上下游传递消息。在互联网的构架中,MQ是一种非常常见的上下游“逻辑解耦+物理解耦”的消息通信服务。使用了MQ后,消息发送上游只需要依赖MQ,不用依赖其他服务
为什么要用MQ呢流量削峰举个例子,如果订单系统最多能够处理一万次订单,这个处理能力应付正常时段的下单绰绰有余,正常时间段我们下单一秒就能返回结果,但是高峰期,如果有两万次下单操作,系统是处理不了的,只能限制订单超过一万后不允许用户下单,使用消息队列做缓冲,我们可以取消这个限制,把一秒内下单三成一段时间来处理,这时有些用户可能在下单十几秒后才能收到下单成功的操作,但是比不能下单的体验要好
应用解耦以电商应用为例,应用中有订单系统、库存系统、物流系统、支付系统。用户创建订单后,如果耦合调用库存系统、物流系统、支付系统,任何一个子系统出了故障,都会造成下单操作异常。当庄边成基于消息队列的方式后,系统间调用的问题会减少很多,比如物流系统因为发生故障 ...
Git
Git什么是Git
Git是一个开源的、分布式版本控制系统,可以快速高效地处理从小型到大型的各种项目
Git易于学习,占地面积小,性能极快,它具有廉价的本地库,方便的暂存区域和多个工作流分支
简介版本控制什么是版本控制版本控制是一种记录文件内容变化,以便将来查阅特定版本修订情况的系统
版本控制最重要的是可以记录文件修改历史记录,从而让用户能够查看历史版本,方便版本切换
为什么需要分布式版本控制个人开发过渡到团队合作
相对于集中式版本控制,分布式版本控制在断网的情况下也可以进行开发(因为版本控制是在本地进行的),每个客户端保存的也都是整个完整的项目(包含历史记录)
工作机制
当我们的代码在工作区和暂存区时,管理员是看不到我们的代码的,我们可以对这时的代码进行删除或者修改操作,当我们提交到本地库后,git会帮我们生成一个历史版本,此时的代码是无法删除和修改的
代码托管中心代码托管中心是基于网络服务器的远程代码仓库,一般我们简单称为远程库
局域网远程库:GitLab
互联网远程库:GitHub、Gitee
Git的常用命令
初用Git要先设置用户签名和用户的邮箱使用命令
12git c ...
Zookeeper
Zookeeper1、概述1.1什么是ZookeeperZookeeper是一个开源的分布式的,为分布式框架提供协调服务的Apache项目,用于管理大型主机。在分布式环境中协调和管理服务是一个复杂的过程。zookeeper通过其简单的架构和API解决了这个问题。ZooKeeper允许开发人员专注于核心应用程序逻辑,不必担心应用程序的分布式特性
1.2Zookeeper的应用场景
分布式协调组件
在分布式系统中,需要有zookeeper作为分布式协调组件
分布式锁
Zookeeper在实现分布式锁上,可以做到强一致性
无状态化的实现
2、搭建Zookeeper服务器1、zoo.cfg配置文件说明1234567891011121314151617# ZooKeeper时间配置中的基本单位(毫秒)tickTime=2000# 允许follewer初始化连接到leader最大时长他表示tickTime时间的倍数,即 tickTime*initLimitinitLimit=10# 允许follower与leader数据同步最大时长,它表示tickTime时间倍数syncLimit=5# ...
SpringCloud
SpringCloud服务与服务之间的调用 RestTemplate:RestTemplate提供了多种便捷访问远程Http服务的方法,是一种简单便捷的访问restful服务模板类,是spring提供的用于访问Rest服务的客户端模板工具类
12restTemplate.postForObject(url,参数,返回结果类.class)//当我们向请求提供方发送post请求时restTemplate.getForObject(url,返回结果类.class) //当我们向请求提供方发送get请求时
服务注册中心EurekaEureka的基本知识什么是服务治理SpringCloud 封装了 NetFlix公司开发的Eureka模块来实现服务治理
在传统饿的RPC远程调用框架中管理每个服务和每个服务之间依赖关系比较复杂,管理比较复杂,所以需要使用服务治理,管理服务于服务之间依赖关系,可以实现服务调用、负载均衡、容错等,实现服务发现与注册
什么是服务的注册与发现Eureka采用了CS的设计架构,Eureka Server作为服务注册功能的服务器,他是服务注册中心,而系统中的其他微服 ...
Dubbo
Dubbo分布式系统为了达成大型互联网项目架构的目标,分布式系统出现了
大型互联网项目架构目标衡量网站的性能指标
响应时间:指执行一个请求从开始到收到相应所花费的总体时间
并发数:指系统同时能够处理的请求数量
并发连接数:指的时客户端向服务器发送请求,并建立TCP连接,每秒服务器连接的总TCP数量
请求数:也称为QPS(Query per Second)指每秒多少请求
并发数:单位时间内有多少用户
吞吐量:单位时间内系统能够处理的请求数量
QPS:Query Per Second 每秒查询数
TPS: Transcations Per Second 每秒事务数
一个事务是指一个客户机向服务器发送请求然后服务器作出反应的过程,客户机在发送请求时开始计时,收到服务器响应后结束计时,从此来计算使用的时间和完成的事务数
QPS >= 并发连接数 >=TPS
高性能:提供快速的访问体验
高可用:网站服务一直可以正常访问
可伸缩:通过硬件增加/减少,提高/降低处理能力
集群和分布式
集群:很多“人”一起,干一样的事
分布式:很多“人 ...
Linux
Linux1、简介什么是linuxLinux是一个操作系统,例如我们的windows、macOS
2、快速入门1:根目录下的文件我们利用指令(cd)来跳转到根目录然后查看(ls)根目录中的所有文件夹
bin
Binary ,二进制指令,链接目录,链接到了user目录下的bin,直接可以执行的全部命令(例如我们用到的:cd,ls )
Sbin
SystemBinary,系统级二进制命令,链接目录,链接到了user目录下的sbin
lib
重要的系统库文件
dev
device 设备管理文件中心
etc
系统管理所对应的配置文件
home
个性化的用户数据文件
root
root用户的主目录
opt
无所谓的目录
media
如果有其他可以动的媒体设备例如其他硬盘,U盘插入设备时,系统将自动把这些设备挂载到media目录下
tmp
临时文件,可对其内容进行操作
2、VIM编辑器在命令行下直接输入vim XXX文件即可进入一般模式,一般模式主要操作位删除,复制,粘贴
倘若我们要进入编辑模式就可以输入i,进入命令模式则可以输入:
普通模式:
在普通模式下按下yy即可对本行进行复制 ...
redis
Redis1、NoSQL1、概述NoSQL(not only SQL ) 不仅仅是SQL,泛指非关系型数据库,NoSQL不依赖业务逻辑方式存储,而是以简单的key-Value 模式 存储,因此的 大大的增加了数据库的拓展能力
不遵守SQL标准
不支持ACID(原子性,一致性,隔离性,持久性)
远超于SQL的性能
2、NoSQL 常用场景
对数据高并发的读写
海量数据的读写
对数据高可延展性
3、NoSQL不支持的场景
需要事务支持
基于SQL的结构化查询存储,处理复杂的关系,需要即系查询
用不着SQL的和用了SQL也不行的情况就用NoSQL
4、安装Redis首先要在Linux环境中安装,并且要求安装gcc,当我们电脑中安装有gcc时,我们需要对版本进行升级
1234yum -y install centos-release-sclyum -y install devtoolset-9-gcc devtoolset-9-gcc-c++ devtoolset-9-binutilsscl enable devtoolset-9 bashecho “source /opt/rh/ ...
SpringBoot
SpringBoot背景应用:巴拉巴拉巴拉一堆,看官方文档去
SpringBoot2入门首先先改一下maven仓库的配置:
将镜像改成
1234567891011121314151617181920212223<mirrors> <mirror> <id>nexus-aliyun</id> <mirrorOf>central</mirrorOf> <name>Nexus aliyun</name> <url>http://maven.aliyun.com/nexus/content/groups/public</url> </mirror> </mirrors> <profiles> <profile> <id>jdk-1.8</id> <act ...
Vue
Vue1、入门什么是vuevue是一套用于构建用户页面的渐进式JavaScript框架
特点:
采用组件化模式,提高代码复用率、且让代码更好的维护
声明式编码,让编码人员无需直接操作DOM,提高开发效率
使用虚拟DOM+优秀的DIff算法,尽量复用DOM节点
如何开始Vue
首先先去官网下载Vue.js包,然后放在项目下,然后在Google商店下载开发资源,然后在打开导入
1234567891011<!DOCTYPE html><html> <head> <meta charset="UTF-8"/> <title>初识vue</title> <script type="text/javascript" src="js/vue.js"></script> </head> <body> </body></html>
这时控制台会输出一串字符
那么我们可以在 ...