SpringCloud微服务学习
文章平均质量分 90
小钟要学习!!!
一个新手的程序员跟着黑马教程一路走的学习经验与总结分享在此(接项目)
说明:所有的博客大多来源网络教程视频学习总结得来
展开
-
Java实现图片上传云存储服务器以及定时清理图片(定时任务组件Qquartz、cron表达式)
方案一:使用nginx搭建图片服务器方案二:使用开源的分布式文件存储系统,例如Fastdfs、HDFS等方案三:使用云存储,例如阿里云、七牛云等maven工程使用七牛云需要引入坐标如果打包报错提升什么引入什么1.4、鉴权Java SDK的所有的功能,都需要合法的授权。授权凭证的签算需要七牛账号下的一对有效的Access Key和Secret Key,这对密钥可以在七牛云管理控制台的个人中心(https://portal.qiniu.com/user/key)获得,如下图:查看上传的图片文件信息1.原创 2022-06-17 07:00:00 · 1455 阅读 · 21 评论 -
Zookeeper命令操作(初始Zookeeper、JavaAPI操作、分布式锁实现、模拟12306售票分布式锁、Zookeeper集群搭建、选举投票)
Zookeeper 是 Apache Hadoop 项目下的一个子项目,是一个树形目录服务Zookeeper 翻译过来就是 动物园管理员,他是用来管 Hadoop(大象)、Hive(蜜蜂)、Pig(小 猪)的管理员。简称zkZookeeper 是一个分布式的、开源的分布式应用程序的协调服务。Zookeeper 提供的主要功能包括:配置管理分布式锁集群管理ZooKeeper 是一个树形目录服务,其数据模型和Unix的文件系统目录树很类似,拥有一个层次化结构。这里面的每一个节点都被称为: ZNode,每个节点上原创 2022-06-16 08:23:50 · 581 阅读 · 6 评论 -
2022Dubbo服务框架入门级学习笔记
高性能:提供快速的访问体验。高可用:如果有一个机器挂了还有其他的替换可伸缩:如果业务庞大了可以添加新的扩展高可扩展:对于业务有更好的替换方法可以直接替换使用集群:一个业务模块,部署在多台服务器上。分布式:一个业务模块,部署在多台服务器上。优点:开发部署很方便、小型项目首选缺点:垂直架构是指将单体架构中的多个模块拆分为多个独立的项目。形成多个独立的单体架构。单体架构存在的问题:垂直架构存在的问题:重复功能太多,比如多个模块都使用查询用户分布式架构是指在垂直架构的基础上,将公共业务模块抽取出来,作为独立的服务,原创 2022-06-13 10:19:30 · 731 阅读 · 22 评论 -
2022超级详细的linux系统安装jdk1.8版本和dubbo及zookeeper注册中心安装(dubbo-admin注册中心可视化管理安装)
解压后运行指令可以看到解压后的目录进入修改文件页面后,需要安装键盘上的键切换到编辑/插入模式才可以对文件进行修改,在profile文件尾部添加如下内容安装键盘的键进行退出,输入保存并退出1.6、测试是否成功2.2、解压文件2.3、复制配置文件进行修改2.4、修改配置文件3、dubbo-admin可视化管理安装3.1、node.js官网下载地址:http://nodejs.cn/3.2、dubbo-admin下载地址:https://github.com/apache/du原创 2022-06-13 10:15:20 · 809 阅读 · 3 评论 -
SpringCloud学习十二(Docker-Compose微服务集群部署和Docker镜像仓库)
SpringCloud学习十二(Docker-Compose微服务集群部署和Docker镜像仓库)Docker Compose可以基于Compose文件帮我们快速的部署分布式应用,而无需手动一个个创建和运行容器!1、初识Docker-Compose之前的配置mysql的配置【作为下面代码的参考】docker run \ --name mysql \ -e MYSQL_ROOT_PASSWORD=1234 \ -v /tmp/mysql/conf/hmy.cnf:/etc/mysql原创 2022-05-30 16:42:54 · 456 阅读 · 0 评论 -
SpringCloud学习十一(Dockerfile自定义镜像两种方式)
SpringCloud学习十一(Dockerfile自定义镜像两种方式)1、镜像结构常见的镜像在DockerHub就能找到,但是我们自己写的项目就必须自己构建镜像了。而要自定义镜像,就必须先了解镜像的结构才行。镜像是将应用程序及其需要的系统函数库、环境、配置、依赖打包而成。我们以MySQL为例,来看看镜像的组成结构:简单来说,镜像就是在系统函数库、运行环境基础上,添加应用程序文件、配置文件、依赖文件等组合,然后编写好启动脚本打包在一起形成的文件。我们要构建镜像,其实就是实现上述打包的过程。原创 2022-05-30 11:02:54 · 401 阅读 · 0 评论 -
SpringCloud学习十(Docker数据卷)
SpringCloud学习十(Docker数据卷)容器与数据耦合的问题:之前修改的index.html文件需要进入容器才能进行修改在容器内修改的内容对外是不可见的,所有的修改对新建容器是不可复用的如果升级容器,必须删除原来的容器,所以附带的数据也会一并的被删除掉1、数据卷数据卷是一个==虚拟目录:==指定宿主机文件系统中的某个目录将容器与数据分离,解耦合,方便操作容器内数据,保证数据安全数据卷操作的基本语法如下:docker volume [COMMAND]docker v原创 2022-05-30 09:40:56 · 154 阅读 · 0 评论 -
SpringCloud学习九(Docker基本操作)
SpringCloud学习九(Docker基本操作)docker的启动命令【刚连接的虚拟机必须启动,才可以执行下面的命令】# 启动dockersystemctl start docker# 检测docker镜像状态systemctl status docker1、镜像命令首先来看下镜像的名称组成:镜名称一般分两部分组成:[repository]:[tag]。在没有指定tag时,默认是latest,代表最新版本的镜像如图:这里的mysql就是repository,5.7就是tag原创 2022-05-30 07:27:02 · 273 阅读 · 0 评论 -
SpringCloud学习八(初识Docker)
SpringCloud学习八(初识Docker)1、什么是Docker可以实现一个应用在不同的Linux系统内运行和部署Docker如何解决大型项目依赖关系复杂,不同组件依赖的兼容性问题?Docker允许开发中将应用、依赖、函数库、配置一起打包,形成可移植镜像Docker应用运行在容器中,使用沙箱机制,相互隔离Docker如何解决开发、测试、生产环境有差异的问题?Docker镜像中包含完整运行环境,包括系统函数库,仅依赖系统的Linux内核,因此可以在任意Linux操作系统上运行Do原创 2022-05-29 20:39:45 · 211 阅读 · 0 评论 -
SpringCloud学习七(统一网关Gateway、解决跨域问题)
SpringCloud学习七(统一网关Gateway、解决跨域问题)Spring Cloud Gateway 是 Spring Cloud 的一个全新项目,该项目是基于 Spring 5.0,Spring Boot 2.0 和 Project Reactor 等响应式编程和事件流技术开发的网关,它旨在为微服务架构提供一种简单有效的统一的 API 路由管理方式。1、为什么需要网关Gateway网关是我们服务的守门神,所有微服务的统一入口。网关的核心功能特性:对用户请求做身份认证、权限校验网原创 2022-05-29 17:05:40 · 780 阅读 · 0 评论 -
SpringCloud学习六(http客户端Feign)
SpringCloud学习六(http客户端Feign)先来看我们以前利用RestTemplate发起远程调用的代码:// 2、利用RestTemplate发起http请求,查询用户String url = "http://userserver/user/"+order.getUserId();// 3、发送请求User user = restTemplate.getForObject(url, User.class);存在下面的问题:•代码可读性差,编程体验不统一•参数复杂URL难以维护原创 2022-05-29 12:21:16 · 252 阅读 · 0 评论 -
Nacos集群搭建
Nacos集群搭建1.集群结构图官方给出的Nacos集群图:其中包含3个nacos节点,然后一个负载均衡器代理3个Nacos。这里负载均衡器可以使用nginx。我们计划的集群结构:三个nacos节点的地址:节点ipportnacos1192.168.150.18845nacos2192.168.150.18846nacos3192.168.150.188472.搭建集群搭建集群的基本步骤:搭建数据库,初始化数据库表结构下载nacos原创 2022-05-29 10:18:52 · 145 阅读 · 0 评论 -
SpringCloud学习五(Nacos配置管理)
SpringCloud学习五(Nacos配置管理)1、统一配置管理1.1、进入nacos的注册中心添加配置信息:添加具体的配置后点击发布发布成功后返回配置列表就会显示到我们的配置消息不要将.yml的配置都挪过来,只有需要热更新需求的才写到配置里面1.2、配置获取的步骤如下:目前又引入了一个新的配置优先级文件bootstrap.yml主要是用来存放与nacos有关的信息,优先级高会先读取首先,在user-service服务中,引入nacos-config的客户端依赖:<原创 2022-05-29 10:13:50 · 378 阅读 · 0 评论 -
SpringCloud学习四(Nacos注册中心)
SpringCloud学习四(Nacos注册中心)1、认识和安装Nacos国内公司一般都推崇阿里巴巴的技术,比如注册中心,SpringCloudAlibaba也推出了一个名为Nacos的注册中心。官网地址:home (nacos.io)在Nacos的GitHub页面,提供有下载链接,可以下载编译好的Nacos服务端或者源代码:GitHub主页:https://github.com/alibaba/nacosGitHub的Release下载页:https://github.com/alibab原创 2022-05-29 08:00:07 · 1298 阅读 · 0 评论 -
SpringCloud学习三(Ribbon负载均衡原理)
SpringCloud学习三(Ribbon负载均衡原理)1、负载均衡原理源码跟踪为什么我们只输入了service名称就可以访问了呢?之前还要获取ip和端口。显然有人帮我们根据service名称,获取到了服务实例的ip和端口。它就是LoadBalancerInterceptor,这个类会在对RestTemplate的请求进行拦截,然后从Eureka根据服务id获取服务列表,随后利用负载均衡算法得到真实的服务地址信息,替换服务id。LoadBalancerIntercepor可以看到这里的int原创 2022-05-28 10:53:11 · 299 阅读 · 0 评论 -
SpringCloud学习二(Eureka注册中心)
SpringCloud学习二(Eureka注册中心)项目地址:https://github.com/ZhongChunle/cloud-demo.git1、搭建eureka-server首先大家注册中心服务端:eureka-server,这必须是一个独立的微服务在cloud-demo父工程下,创建一个子模块eureka-server1.2、引入eureka依赖引入SpringCloud为eureka提供的starter依赖:<dependency> <groupI原创 2022-05-28 10:14:52 · 144 阅读 · 0 评论 -
SpringCloud学习一(微服务远程调用案例:入门)
SpringCloud学习一(微服务远程调用案例:入门)前提:准备两个数据库,并创建数据库表项目代码路径:ZhongChunle/cloud-demo: 微服务远程调用接口案例 (github.com)cloud_order数据量下创建订单数据库表DROP TABLE IF EXISTS `tb_order`;CREATE TABLE `tb_order` ( `id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '订单id', `user_原创 2022-05-28 09:31:32 · 234 阅读 · 0 评论