拥有0000-未整理-等待研究标签的文章

Spring开启方法异步执行 - 知乎

@EnableAsync```text@Target(ElementType.TYPE)@Retention(RetentionPolicy.RUNTIME)@Documented@Import(AsyncConfigurationSelector.class)public @interface EnableAsync { Class<? extends Annotati...
阅读全文

SpringCloud Eureka 自我保护机制 - 知乎

自我保护背景首先对Eureka注册中心需要了解的是Eureka各个节点都是平等的,没有ZK中角色的概念, 即使N1个节点挂掉也不会影响其他节点的正常运行。默认情况下,如果Eureka Server在一定时间内(默认90秒)没有接收到某个微服务实例的心跳,Eureka Server将会移除该实例。但是当网络分区故障发生时,微服务与Eureka Server之间无法正常通信,而微服务本身是正...
阅读全文

Spring MVC 表单防重复提交实战 - 知乎

利用Spring MVC的过滤器及token传递验证来实现表单防重复提交。创建注解```text@Target(ElementType.METHOD)@Retention(RetentionPolicy.RUNTIME)@Documentedpublic @interface Token { boolean create() default false; bo...
阅读全文

Spring Enable 高级应用及原理 - 知乎

Enable之前的文章用到了一些Enable开头的注解,比如EnableAsync、EnableScheduling、EnableAspectJAutoProxy、EnableCaching等,Enable表示开启/允许一项功能。Enable工作原理我们只需要几个很简单的注解就能开启一个复杂的功能,这是多么简易的用法,这是怎么办到的?首先来看看计划任务@EnableSchedu...
阅读全文

Redis缓存和MySQL数据一致性方案详解 - 知乎

一、需求起因在高并发的业务场景下,数据库大多数情况都是用户并发访问最薄弱的环节。所以,就需要使用redis做一个缓冲操作,让请求先访问到redis,而不是直接访问MySQL等数据库。这个业务场景,主要是解决读数据从Redis缓存,一般都是按照下图的流程来进行业务操作。读取缓存步骤一般没有什么问题,但是一旦涉及到数据更新:数据库和缓存更新,就容易出现缓存(Redis)和数据库(M...
阅读全文

Spring Aware 容器感知技术 - 知乎

Spring Aware是什么Spring提供Aware接口能让Bean感知Spring容器的存在,即让Bean可以使用Spring容器所提供的资源。Spring Aware的分类几种常用的Aware接口如下。更多的可以看它的继承图。Spring Aware的使用如要获取容器中的某个Bean,可以继承ApplicationContextAware,让这个Bean拥...
阅读全文

研发团队资源成本优化实践 - 美团技术团队

背景工程师主要面对的是技术挑战,更关注技术层面的目标。研发团队的管理者则会把实现项目成果和业务需求作为核心目标。实际项目中,研发团队所需资源(比如物理机器、内存、硬盘、网络带宽等)的成本,很容易被忽略,或者在很晚才考虑。在一般情况下,如果要满足更多的技术指标如并发量和复杂度等,或者满足峰值业务的压力,最直接有效的方法就是投入更多的资源。然而,从全局来看,如果资源成本缺乏优化,最终会出现如...
阅读全文

全链路压测自动化实践 - 美团技术团队

背景与意义境内度假是一个低频、与节假日典型相关的业务,流量在节假日较平日会上涨五到十几倍,会给生产系统带来非常大的风险。因此,在2018年春节前,我们把整个境内度假业务接入了全链路压测,来系统性地评估容量和发现隐患,最终确保了春节期间系统的稳定。在整个过程中,我们意识到,全链路压测在整个系统稳定性建设中占有核心重要的位置,也是最有效的方案。结合实际业务节假日的频率(基本平均一个月一次),...
阅读全文

Java魔法类:Unsafe应用解析 - 美团技术团队

前言Unsafe是位于sun.misc包下的一个类,主要提供一些用于执行低级别、不安全操作的方法,如直接访问系统内存资源、自主管理内存资源等,这些方法在提升Java运行效率、增强Java语言底层资源操作能力方面起到了很大的作用。但由于Unsafe类使Java语言拥有了类似C语言指针一样操作内存空间的能力,这无疑也增加了程序发生相关指针问题的风险。在程序中过度、不正确使用Unsafe类会使得程...
阅读全文

RDS for MySQL使用utf8mb4字符集存储emoji表情_数据库/账号/表_常见问题_云数据库 RDS 版-阿里云

基本原则如果要实现存储emoji表情到RDS for MySQL实例,需要客户端、到RDS实例的连接、RDS实例内部三个方面统一使用或者支持utf8mb4字符集。 客户端:客户端需要保证输出的字符串的字符集为utf8mb4。 应用到RDS实例的连接:支持utf8mb4字符集。以常见的JDBC连接为例,需要使用MySQL Connector/J 5.1.13(含)以上的版本,JD...
阅读全文