avatar
文章
72
标签
50
分类
37

首页
时间轴
分类
分享
  • 音乐
  • 随笔
  • 面试八股
关于
fanfanの博客
搜索
首页
时间轴
分类
分享
  • 音乐
  • 随笔
  • 面试八股
关于
黑马点评-1
发表于2021-03-19|项目黑马点评
黑马点评-1 短信登录 商户查询缓存 优惠卷秒杀 Redis的计数器功能, 结合Lua完成高性能的redis操作,Redis分布式锁的原理,包括Redis的三种消息队列 附近的商户 利用Redis的GEOHash来完成对于地理坐标的操作 UV统计 主要是使用Redis来完成统计功能 用户签到 使用Redis的BitMap数据统计功能 好友关注 基于Set集合的关注、取消关注,共同关注等等功能 打人探店 基于List来完成点赞列表的操作,同时基于SortedSet来完成点赞的排行榜功能 0. 项目搭建0.1、导入黑马点评项目0.1.1 、导入SQL 0.1.2、有关当前模型手机或者app端发起请求,请求我们的nginx服务器,nginx基于七层模型走的事HTTP协议,可以实现基于Lua直接绕开tomcat访问redis,也可以作为静态资源服务器,轻松扛下上万并发, 负载均衡到下游tomcat服务器,打散流量,我们都知道一台4核8G的tomcat,在优化和处理简单业务的加持下,大不了就处理1000左右的并发, 经过nginx的负载均衡分流后,利用集群支撑起整个 ...
RabbitMQ(二)
发表于2021-03-14|消息中间件RabbitMQ
服务异步通信-高级篇消息队列在使用过程中,面临着很多实际问题需要思考: 1.消息可靠性【重点】消息从发送,到消费者接收,会经理多个过程: 其中的每一步都可能导致消息丢失,常见的丢失原因包括: 发送时丢失: 生产者发送的消息未送达exchange 消息到达exchange后未到达queue MQ宕机,queue将消息丢失 consumer接收到消息后未消费就宕机 针对这些问题,RabbitMQ分别给出了解决方案: 生产者确认机制 mq持久化 消费者确认机制 失败重试机制 下面我们就通过案例来演示每一个步骤。 首先,导入课前资料提供的demo工程: 项目结构如下: 1.1.生产者消息确认RabbitMQ提供了publisher confirm机制来避免消息发送到MQ过程中丢失。这种机制必须给每个消息指定一个唯一ID。消息发送到MQ以后,会返回一个结果给发送者,表示消息是否处理成功。 返回结果有两种方式: publisher-confirm,发送者确认 消息成功投递到交换机,返回ack 消息未投递到交换机,返回nack publisher-return,发送者回执 ...
RabbitMQ(一)
发表于2021-03-14|消息中间件RabbitMQ
1.初识MQ1.1 同步和异步通讯微服务间通讯有同步和异步两种方式: 同步通讯:就像打电话,需要实时响应。 异步通讯:就像发邮件,不需要马上回复。 两种方式各有优劣,打电话可以立即得到响应,但是你却不能跟多个人同时通话。发送邮件可以同时与多个人收发邮件,但是往往响应会有延迟。 1.1.1.同步通讯我们之前学习的Feign调用就属于同步方式,虽然调用可以实时得到结果,但存在下面的问题: 总结: 同步调用的优点: 时效性较强,可以立即得到结果 同步调用的问题: 耦合度高 性能和吞吐能力下降 有额外的资源消耗 有级联失败问题 1.1.2.异步通讯异步调用则可以避免上述问题: 我们以购买商品为例,用户支付后需要调用订单服务完成订单状态修改,调用物流服务,从仓库分配响应的库存并准备发货。 在事件模式中,支付服务是事件发布者(publisher),在支付完成后只需要发布一个支付成功的事件(event),事件中带上订单id。 订单服务和物流服务是事件订阅者(Consumer),订阅支付成功的事件,监听到事件后完成自己业务即可。 为了解除事件发布者与订阅者之间的耦合,两者并不是直接通信,而 ...
SpringCloud(二)
发表于2021-03-11|SpringCloud
SpringCloud Gateway 微服务网关 Nacos 服务注册中心 Nacos 服务配置中心 1 Nacos 服务注册国内公司一般都推崇阿里巴巴的技术,比如注册中心,SpringCloudAlibaba也推出了一个名为Nacos的注册中心。 1.1.认识和安装NacosNacos是阿里巴巴的产品,现在是SpringCloudAlibaba中的一个组件。相比Eureka功能更加丰富,在国内受欢迎程度较高。 安装方式可以看我的其他文章。 nacos访问地址:http://localhost:8848/nacos 控制台账号:nacos 密码:nacos 1.2.服务注册到nacos【重点】Nacos是SpringCloudAlibaba的组件,而SpringCloudAlibaba也遵循SpringCloud中定义的服务注册、服务发现规范。因此使用Nacos和使用Eureka对于微服务来说,并没有太大区别。 主要差异在于: 依赖不同 服务地址不同 1)引入依赖 在springcloud-parent父工程的pom文件中的<dependencyManagement ...
SpringCloud(一)
发表于2021-03-11|SpringCloud
学习目标: 了解架构演进过程 理解微服务拆分流程及远程调用过程 掌握注册中心Eureka(nacos)的使用 掌握负载均衡Ribbon的使用(配置) 能够基于Feign实现服务远程调用(使用) 1 服务架构演进章节知识点 单体架构 分布式架构 微服务架构 SpringCloud 过去的互联网: 1:用户量不多 2:并发低 3:数据少 现在的互联网: 1:用户多 2:并发高 3:数据庞大 互联网架构从简到繁的演进经历了单体架构、分布式架构、SOA架构、微服务架构以及最新的service mesh的演进过程。 1.1 单体架构1)概念 早期互联网产品用户量少,并发量低,数据量小,单个应用服务器可以满足需要,这就是最早互联网架构。我们用一句话总结什么是单体架构:将业务的所有功能集中在一个项目中开发,部署为一个节点。 2)架构图 3)优缺点 #优点: 1)架构简单 2)部署成本低 #缺点: 1)耦合度高 1.2 分布式架构1)概念 根据业务功能对系统进行拆分,每个业务模块称为一个服务。 2)架构图 3)优缺点 #优点 1)降低服务耦合度 ...
docker笔记
发表于2021-03-10|Linuxdocker
Docker实用篇0.学习目标1.初识Docker1.1.什么是Docker微服务虽然具备各种各样的优势,但服务的拆分通用给部署带来了很大的麻烦。 分布式系统中,依赖的组件非常多,不同组件之间部署时往往会产生一些冲突。 在数百上千台服务中重复部署,环境不一定一致,会遇到各种问题 1.1.1.应用部署的环境问题大型项目组件较多,运行环境也较为复杂,部署时会碰到一些问题: 依赖关系复杂,容易出现兼容性问题 开发、测试、生产环境有差异 例如一个项目中,部署时需要依赖于node.js、Redis、RabbitMQ、MySQL等,这些服务部署时所需要的函数库、依赖项各不相同,甚至会有冲突。给部署带来了极大的困难。 1.1.2.Docker解决依赖兼容问题而Docker确巧妙的解决了这些问题,Docker是如何实现的呢? Docker为了解决依赖的兼容问题的,采用了两个手段: 将应用的Libs(函数库)、Deps(依赖)、配置与应用一起打包 将每个应用放到一个隔离容器去运行,避免互相干扰 这样打包好的应用包中,既包含应用本身,也保护应用所需要的Libs、Deps,无需再操作 ...
前后端分离开发
发表于2021-03-07|javaWeb前后端分离
前言 当前项目中,前端代码和后端代码混合在一起,是存在问题的,存在什么问题呢? 主要存在以下几点问题: 1). 开发人员同时负责前端和后端代码开发,分工不明确 2). 开发效率低 3). 前后端代码混合在一个工程中,不便于管理 4). 对开发人员要求高(既会前端,又会后端),人员招聘困难 为了解决上述提到的问题,现在比较主流的开发方式,就是前后端分离开发,前端人员开发前端的代码,后端开发人员开发服务端的业务功能,分工明确,各司其职。我们本章节,就是需要将之前的项目进行优化改造,变成前后端分离开发的项目。 1. 前后端分离开发1.1 介绍前后端分离开发,就是在项目开发过程中,对于前端代码的开发由专门的前端开发人员负责,后端代码则由后端开发人员负责,这样可以做到分工明确、各司其职,提高开发效率,前后端代码并行开发,可以加快项目开发进度。 目前,前后端分离开发方式已经被越来越多的公司所采用,成为当前项目开发的主流开发方式。 前后端分离开发后,从工程结构上也会发生变化,即前后端代码不再混合在同一个maven工程中,而是分为 前端工程 和 后端工程 。 前后端分离之后,不仅工程结构变 ...
Nginx的反向代理和负载均衡
发表于2021-03-06|nginx
1. Nginx-概述1.1 介绍 Nginx是一款轻量级的Web服务器/反向代理服务器及电子邮件(IMAP/POP3)代理服务器。其特点是占有内存少,并发能力强,事实上nginx的并发能力在同类型的网页服务器中表现较好,中国大陆使用nginx的网站有:百度、京东、新浪、网易、腾讯、淘宝等。 Nginx是由伊戈尔·赛索耶夫为俄罗斯访问量第二的Rambler.ru站点(俄文:Рамблер)开发的,第一个公开版本0.1.0发布于2004年10月4日。 官网:https://nginx.org/ 1.2 下载和安装1.2.1 下载在Nginx的官网的下载页面中(http://nginx.org/en/download.html),就展示了当前Nginx版本,并提供了下载的连接。 如下: 在本项目中,我们所学习的Nginx选择的是稳定版本的1.16这个版本,我们可以直接从官网下载,当然在我们的课程资料中也已经提供了该版本的安装包。 1.2.2 安装1). 安装依赖包 由于nginx是基于c语言开发的,所以需要安装c语言的编译环境,及正则表达式库等第三方依赖库 ...
MySQL的主从复制和读写分离
发表于2021-03-06|数据库mysql
1. MySQL主从复制MySQL数据库默认是支持主从复制的,不需要借助于其他的技术,我们只需要在数据库中简单的配置即可。接下来,我们就从以下的几个方面,来介绍一下主从复制: 1.1 介绍MySQL主从复制是一个异步的复制过程,底层是基于Mysql数据库自带的 二进制日志 功能。就是一台或多台MySQL数据库(slave,即从库)从另一台MySQL数据库(master,即主库)进行日志的复制,然后再解析日志并应用到自身,最终实现 从库 的数据和 主库 的数据保持一致。MySQL主从复制是MySQL数据库自带功能,无需借助第三方工具。 二进制日志: ​ 二进制日志(BINLOG)记录了所有的 DDL(数据定义语言)语句和 DML(数据操纵语言)语句,但是不包括数据查询语句。此日志对于灾难时的数据恢复起着极其重要的作用,MySQL的主从复制, 就是通过该binlog实现的。默认MySQL是未开启该日志的。 MySQL的主从复制原理如下: MySQL复制过程分成三步: 1). MySQL master 将数据变更写入二进制日志( binary log) 2). slave将mas ...
SpringCache
发表于2021-03-06|数据库SpringCache
SpringCache介绍Spring Cache是一个框架,实现了基于注解的缓存功能,只需要简单地加一个注解,就能实现缓存功能,大大简化我们在业务中操作缓存的代码。 Spring Cache只是提供了一层抽象,底层可以切换不同的cache实现。具体就是通过CacheManager接口来统一不同的缓存技术。CacheManager是Spring提供的各种缓存技术抽象接口。 针对不同的缓存技术需要实现不同的CacheManager: CacheManager 描述 EhCacheCacheManager 使用EhCache作为缓存技术 GuavaCacheManager 使用Google的GuavaCache作为缓存技术 RedisCacheManager 使用Redis作为缓存技术 注解在SpringCache中提供了很多缓存操作的注解,常见的是以下的几个: 注解 说明 @EnableCaching 开启缓存注解功能 @Cacheable 在方法执行前spring先查看缓存中是否有数据,如果有数据,则直接返回缓存数据;若没有数据,调用方法并将方法 ...
1234…8
avatar
fanfan
文章
72
标签
50
分类
37
公告
你还有好多未完成的梦,你有什么理由停下脚步。
最新文章
03_AJAX原理
03_AJAX原理2023-11-16
02_AJAX综合案例
02_AJAX综合案例2023-11-15
01_Ajax入门
01_Ajax入门2023-11-14
Linux字符集引发的bug
Linux字符集引发的bug2023-11-14
MySQL百万级数据,如何做分页查询
MySQL百万级数据,如何做分页查询2023-11-11
分类
  • Linux7
    • docker3
    • 常用命令1
  • MySQL1
  • SpringCloud5
  • canal1
  • docker1
    • Portainer1
标签
Eureka SpringCloud Redis docker 动态代理 RabbitMQ nginx Minecraft Yapi 定时任务 Linux 分布式锁 Nacos 网关 linux MySQL java elasticsearch 前后端分离 Stream流 负载均衡 API 性能优化 map Swagger mysql 前端 每日积累 Portainer AJAX 跨域 javaWeb nodejs 微服务 Es io流 git canal Streams seata
归档
  • 十一月 20236
  • 十月 20234
  • 九月 20232
  • 三月 202124
  • 二月 202136
网站资讯
文章数目 :
72
已运行时间 :
本站总字数 :
442k
本站访客数 :
本站总访问量 :
最后更新时间 :
©2020 - 2023 By fanfan
框架 Hexo|主题 Butterfly
备案号:宁ICP备2023001647号
搜索
数据库加载中