草庐IT

SpringBoot项目开发的智慧锦囊:技巧与应用一网打尽

环境:SpringBoot2.7.161.Bean生命周期使用@PostConstruct和@PreDestroy注解在Bean的生命周期特定阶段执行代码,也可以通过分别实现InitializingBean和DisposableBean接口。publicclassBean1{@PostConstructpublicvoidinit(){}@PreDestroypublicvoiddestroy(){}}publicclassBean2implementsInitializingBean,DisposableBean{publicvoidafterPropertiesSet(){}publicv

开年安全锦囊|保护现代Web应用程序的 7 大关键举措

Web应用和API已成为构建业务关键型应用程序的首选工具,而这些应用程序不但面临着多云环境、新兴架构等带来的复杂性,也受到愈加严峻的暴力破解、信息泄露、会话劫持、跨站脚本、注入攻击等安全挑战。现代Web应用程序防护七大关键对于安全专业人员而言,现代应用程序的安全防护难度日益加剧。云端业务迁移和分散部署在各个不同环境中的应用程序、新兴架构和实践的逐步应用,如API生态系统、微服务和CI/CD、SaaS(软件即服务)、存在供应链攻击风险的远程办公环境以及不断恶化的威胁形势等多种趋势同时演进致使复杂性呈指数级增长。受知识、资源和法规的制约,通常企业在选择Web应用程序和API保护(WAAP)方案时,

稳定性保障8个锦囊,建议收藏!

稳定性保障,是一切技术工作的出发点和落脚点,也是IT工作最核心的价值体现,当然也是技术人员最容易“翻车”的阴沟。8个稳定性保障锦囊,分享给各位技术人员择机使用。#1设定可量化的、业务可理解的可用性目标没有度量就没有改进。GoogleSRE曾在其工程实践中,就引入了针对服务可靠性的预算机制,即「Budget」的概念。技术团队和业务团队就服务不可用时长的额度,制定合理的目标,进而指导技术投资、稳定性保障、业务发展三者的全局最优解法。技术方制定稳定性的度量指标,一个关键出发点是“业务方要听的懂”。我们可以将度量指标进行更进一步的抽象,分别从外部用户视角和从内部系统视角,全面的看待整体的可用性,甚至某

锦囊2—修改已经存在了的ES数据结构

修改已经存在了的ES数据结构问题背景:由于ElasticSearch没有像mysql一样可以直接字段数据类型的方法,因此需要通过创建中间索引:data_index_1,备份数据到中间索引:data_index_1,然后删除原索引:data_index,重新创建正确数据类型索引:data_index,再把中间索引:data_index_1的数据备份到新创建索引:data_index。语句通过kibana的dev_tools/console执行。解决步骤:1,创建一个中间索引--字段类型同源索引PUT/publish_process_bak{"mappings":{"properties":{"d

高并发系统设计的 15 个锦囊妙招

前言:记得很久之前,去面试过字节跳动。被三面的面试官问了一道场景设计题目:如何设计一个高并发系统。当时我回答得比较粗糙,最近回想起来,所以整理了设计高并发系统的15个锦囊,相信大家看完会有帮助的。 如何理解高并发系统 所谓设计高并发系统,就是设计一个系统,保证它整体可用的同时,能够处理很高的并发用户请求,能够承受很大的流量冲击。 我们要设计高并发的系统,那就需要处理好一些常见的系统瓶颈问题,如内存不足、磁盘空间不足,连接数不够,网络宽带不够等等,以应对突发的流量洪峰。 1.分而治之,横向扩展 如果你只部署一个应用,只部署一台服务器,那抗住的流量请求是非常有限的。并且,单体的应用,有单点的风险,

高并发系统设计的 15 个锦囊妙招

前言:记得很久之前,去面试过字节跳动。被三面的面试官问了一道场景设计题目:如何设计一个高并发系统。当时我回答得比较粗糙,最近回想起来,所以整理了设计高并发系统的15个锦囊,相信大家看完会有帮助的。 如何理解高并发系统 所谓设计高并发系统,就是设计一个系统,保证它整体可用的同时,能够处理很高的并发用户请求,能够承受很大的流量冲击。 我们要设计高并发的系统,那就需要处理好一些常见的系统瓶颈问题,如内存不足、磁盘空间不足,连接数不够,网络宽带不够等等,以应对突发的流量洪峰。 1.分而治之,横向扩展 如果你只部署一个应用,只部署一台服务器,那抗住的流量请求是非常有限的。并且,单体的应用,有单点的风险,