-
php 实现Redis分布式锁
简介 多线程多进程情况下访问一些共享资源需要加锁,否则就会导致数据错乱的问题 分布式锁可以通过DB,Redis,Zk等方式实现,本节主要介绍php使用Redis实现分布式锁 基于set命令 setnx key value 设置一个值,当key已经存在时,返回flase,代表失败 使用setnx实现分布锁有个缺陷,setnx操作无法设置key的ttl,需要配合exprie key ttl 一起使用 …- 31
- 0
-
PHP一致性Hash
随着memcache、Redis以及其它一些内存K/V数据库的流行,一致性哈希也越来越被开发者所了解。因为这些内存K/V数据库大多不提供分布式支持(本文以redis为例),所以如果要提供多台redis server来提供服务的话,就需要解决如何将数据分散到redis server,并且在增减redis server时如何最大化的不令数据重新分布,这将是本文讨论的范畴。 取模算法 取模运算通常用于得…- 11
- 0
-
Redis 分布式缓存 Java 框架
为什么要在 Java 分布式应用程序中使用缓存? 在提高应用程序速度和性能上,每一毫秒都很重要。根据谷歌的一项研究,假如一个网站在3秒钟或更短时间内没有加载成功,会有 53% 的手机用户会离开。 缓存是让分布式应用程序加速的重要技术之一。存储的信息越接近 CPU,访问速度就越快。从 CPU 缓存中加载数据比从 RAM 中加载要快得多,比从硬盘或网络上加载要快得多得多。 要存储经常访问的数据,分布式…- 6
- 0
-
Go语言系列(十二)之RabbitMQ消息队列
1. RabbitMQ是什么? MQ 是什么?队列是什么,MQ 我们可以理解为消息队列,队列我们可以理解为管道。以管道的方式做消息传递。 生活场景: 1.其实我们在双11的时候,当我们凌晨大量的秒杀和抢购商品,然后去结算的时候,就会发现,界面会提醒我们,让我们稍等,以及一些友好的图片文字提醒。而不是像前几年的时代,动不动就页面卡死,报错等来呈现给用户。 在这业务场景中…- 45
- 0
-
Java 架构师+高并发+性能优化+Spring boot大型分布式项目实战
视频课程内容包含: 高级 Java 架构师包含:Spring boot、Spring cloud、Dubbo、Redis、ActiveMQ、Nginx、Mycat、Spring、MongoDB、ZeroMQ、Git、Nosql、Jvm、Mecached、Netty、Nio、Mina、性能调优、高并发、tomcat 负载均衡、大型电商项目实战、高可用、高可扩展、数据库架构设计、Solr 集群与应用、…- 7
- 0
-
SpringBoot 分布式session
SpringBoot 分布式session实现 1. 什么是分布式session 在集群环境中,不得不考虑的一个问题是用户访问产生的session如何处理。如过不做任何处理,用户将出现频繁俸禄的现象,比如集群中存在A、B两台服务其,用户第一次访问网站时,Nginx通过负载均衡机制将用户请求转发到A节点,这时A节点就会给用户创建一个session。当用户第二次发送请求时,Nginx将其转发到B节点,…- 13
- 0
-
微服务之分布式跟踪系统(springboot+zipkin+mysql)
通过上一节《微服务之分布式跟踪系统(springboot+zipkin)》我们简单熟悉了zipkin的使用,但是收集的数据都保存在内存中重启后数据丢失,不过zipkin的Storage除了内存,还有Cassandra、MYSQL、ElasticSearch。 二、zipkin的各种Storage配置简介 zipkin存在一些公用的配置,同时存在一些私有的配置(详细信息地址为…- 47
- 0
-
SpringBoot与分布式
SpringBoot 、 Dubbo 、 zookeeper 整合 1、准备两个项目,一个服务提供者,一个消费者 2、将服务提供者注册到注册中心 (1) 引入dubbo 的 starter (2) 引入zookeeper 的客户端工具 (3) 在application.yml 中配置 dubbo 相关属性 (4) 在要发布的类上标注上dubbo 的 @Service 注解并将类加入到容器 …- 3
- 0
-
Springboot整合ehcache缓存
EhCache是一个比较成熟的Java缓存框架,最早从hibernate发展而来, 是进程中的缓存系统,它提供了用内存,磁盘文件存储,以及分布式存储方式等多种灵活的cache管理方案,快速简单。 Springboot对ehcache的使用非常支持,所以在Springboot中只需做些配置就可使用,且使用方式也简易。 在你的项目上配置以下几步即可使用 首先,老规矩,pom.xml加依赖; 1<…- 1
- 0
-
Spring Boot+Spring Security+JWT 实现 RESTful Api 权限控制
摘要: 用spring-boot开发RESTful API非常的方便,在生产环境中,对发布的API增加授权保护是非常必要的。现在我们来看如何利用JWT技术为API增加授权保护,保证只有获得授权的用户才能够访问API。 一:开发一个简单的API 在IDEA开发工具中新建一个maven工程,添加对应的依赖如下: 1<dependency> 2 <groupId>org.sp…- 17
- 0
-
SpringBoot集成JWT实现token验证
JWT官网: https://jwt.io/ JWT(Java版)的github地址:https://github.com/jwtk/jjwt 什么是JWT Json web token (JWT), 是为了在网络应用环境间传递声明而执行的一种基于JSON的开放标准((RFC 7519).**定义了一种简洁的,自包含的方法用于通信双方之间以JSON对象的形式安全的传递信息。**因为数字签名的存在,…- 25
- 0
-
Spring Boot使用redis做数据缓存
1 添加redis支持 在pom.xml中添加 Xml代码 < dependency < groupId org.springframework.boot </ groupId < artifactId spring-boot-starter-redis </ artifactId <…- 1
- 0
-
什么是SpringBoot?
感谢 秦疆老师(狂神说java) 什么是Spring Spring是一个开源框架,2003 年兴起的一个轻量级的Java 开发框架,作者:Rod Johnson 。 Spring是为了解决企业级应用开发的复杂性而创建的,简化开发。 Spring是如何简化Java开发的 为了降低Java开发的复杂性,Spring采用了以下4种关键策略: 1、基于POJO的轻量级和最小侵入性编程; 2、通过IOC,依…- 13
- 0
-
Springboot 集成redis
Springboot 集成redis 本地安装redis redis 在springboot中的基本配置 application.yaml中基本配置: redisConfig bean配置 RedisConnectionFactory Bean 使用redis做缓存 注解方式使用redis做缓存 cacheManager Bean * Controller * 返回对象需要序列化 * 更新操作需要…- 29
- 0
-
Caffeine Cache 简介 和 Google Guava EhCache 性能比较
1. 前言 互联网软件神速发展,用户的体验度是判断一个软件好坏的重要原因,所以缓存就是必不可少的一个神器。在多线程高并发场景中往往是离不开cache的,需要根据不同的应用场景来需要选择不同的cache,比如分布式缓存如redis、memcached,还有本地(进程内)缓存如ehcache、GuavaCache、Caffeine。 说起Guava Cache,很多人都不会陌生,它是Google Gu…- 74
- 0
-
Java RESTful 框架的性能比较
在微服务流行的今天,我们会从纵向和横向分解代码的逻辑,将一些独立的无状态的代码单元实现为微服务,可以将它们发布到一些分布式计算单元或者Docker中,并在性能需要的时候及时地创建更多的服务单元。 微服务是一个概念,并没有规定的格式,但是很多厂商和框架都不约而同的采用RESTful的架构,尽管也有一些其它的性能很好的RPC框架。 如何在Java生态圈选择一个轻量级的RESTful框架?可以参考一些其…- 8
- 0
-
Netty实现原理浅析
1、总体结构 先放上一张漂亮的Netty总体结构图,下面的内容也主要围绕该图上的一些核心功能做分析,但对如Container Integration及Security Support等高级可选功能,本文不予分析。 Netty架构分析 Netty 采用了比较典型的三层网络架构进行设计,逻辑架构图如下所示: 第一层:Reactor 通信调度层,它由一系列辅助类完成,包括 Reactor 线程 …- 7
- 0
-
spring boot + spring cache 实现两级缓存(redis + caffeine)
spring boot中集成了spring cache,并有多种缓存方式的实现,如:Redis、Caffeine、JCache、EhCache等等。但如果只用一种缓存,要么会有较大的网络消耗(如Redis),要么就是内存占用太大(如Caffeine这种应用内存缓存)。在很多场景下,可以结合起来实现一、二级缓存的方式,能够很大程度提高应用的处理效率。 内容说明: 缓存、两级缓存 spring cac…- 302
- 0
-
Netty游戏服务器开发实战(14):游戏推送的设计
导读- 本篇主要介绍如何实现游戏服务器推送消息到客户端或者服务器和服务器之间进行消息推送,结合Netty组件,设计一个具有推送功能的高性能游戏服务器框架。 什么是推送?为何需要推送? 首先,我们要明白什么是推送?推送,就是把服务器消息或者某个客户端的消息发送给另外一个客户端或者是服务器,一般对于客户端来说是一个被动接受消息的过程。 推送功能,一般分为在线推送和离线推送,本文主要介绍在线推送功能的实…- 119
- 0
-
一个轻量级分布式RPC框架–NettyRpc
1、背景 最近在搜索Netty和Zookeeper方面的文章时,看到了这篇文章《轻量级分布式 RPC 框架》,作者用Zookeeper、Netty和Spring写了一个轻量级的分布式RPC框架。花了一些时间看了下他的代码,写的干净简单,写的RPC框架可以算是一个简易版的dubbo。这个RPC框架虽小,但是麻雀虽小,五脏俱全,有兴趣的可以学习一下。 本人在这个简易版的RPC上添加了如下特性: * 服…- 11
- 0
-
JVM性能优化 Part V:Java的伸缩性
JVM性能优化 Part V:Java的伸缩性 很多程序员在解决 JVM性能问题的时候,花开了很多时间去调优应用程序级别的性能瓶颈,当你读完这本系列文章之后你会发现我可能更加系统地看待这类的问题。我说过 JVM的自身技术限制了 Java企业级应用的伸缩性。首先我们先列举一些主导因素。 主流的硬件服务器提供了大量的内存 分布式系统有大量内存的需求,而…- 5
- 0
-
Netty游戏服务器实战开发(11):Spring+mybatis 手写分库分表策略(续)
在大型网络游戏中,传统的游戏服务器无法满足性能上的需求。所以有了分布式和微服务新起,在传统web服务器中,我们保存用户等信息基本都是利用一张单表搞定,但是在游戏服务器中,由于要求比较高,我们不能存在大表操作,即分库分表策略。在以前的文章中有关介绍分库分表的,下面我们来实战一下,首先我们做一个这样的计算。 在博主开源的游戏服务器中有这样一个场景:玩家数据保存到player表中,其中将游戏数据库分为1…- 14
- 0
幸运之星正在降临...
点击领取今天的签到奖励!
恭喜!您今天获得了{{mission.data.mission.credit}}积分
我的优惠劵
-
¥优惠劵使用时效:无法使用使用时效:
之前
使用时效:永久有效优惠劵ID:×
没有优惠劵可用!