作者|殷浩 出品|阿里巴巴新零售淘系技术部 架构这个词源于英文里的“Architecture“,源头是土木工程里的“建筑”和“结构”,而架构里的”架“同时又包含了”架子“(scaffolding)的含义,意指能快速搭建起来的固定结构。而今天的应用架构,意指软件系统中固定不变的代码结构、设计模式、规范和组件间的通信方式。在应用开发中架构之所以是最重要的第一步,因为一个好的架构 […]
作者|殷浩 出品|阿里巴巴新零售淘系技术部 架构这个词源于英文里的“Architecture“,源头是土木工程里的“建筑”和“结构”,而架构里的”架“同时又包含了”架子“(scaffolding)的含义,意指能快速搭建起来的固定结构。而今天的应用架构,意指软件系统中固定不变的代码结构、设计模式、规范和组件间的通信方式。在应用开发中架构之所以是最重要的第一步,因为一个好的架构 […]
写在最前面 对于一个架构师来说,在软件开发中如何降低系统复杂度是一个永恒的挑战,无论是94年GoF的Design Patterns,99年的Martin Fowler的Refactoring,02年的P of EAA,还是03年的Enterprise Integration Patterns,都是通过一系列的设计模式或范例来降低一些常见的复杂度。但是问题在于,这些书的理念是 […]
Tech 导读 本文主要介绍目前存在的定时任务处理解决方案。业务系统中存在众多的任务需要定时或定期执行,并且针对不同的系统架构也需要提供不同的解决方案。京东内部也提供了众多定时任务中间件来支持,总结当前各种定时任务原理,从定时任务基础原理、单机定时任务(单线程、多线程)、分布式定时任务介绍目前主流的定时任务的基本原理组成、优缺点等。希望能帮助读者深入理解定时任务 […]
出品 | OSC开源社区(ID:oschina2013) IntelliJ IDEA 2022.2 为远程开发功能带来了多项质量改进,使其更美观、更稳定。从 v2022.2 开始,IntelliJ IDEA 使用 JetBrains Runtime 17,后者可以从多方面增强 IDE 体验和性能。IntelliJ IDEA Ultimate 添加了对 Spring 6 和 […]
作者 |文库基础架构 导读 introduction 我们做软件开发时,或多或少的会记录日志。由于日志不是系统的核心功能,常常被忽视,定位问题的时候才想起它。本文由浅入深的探讨不起眼的日志是否重要,以及分布式架构下的日志运维工具应该具备哪些能力,希望感兴趣的读者能从本文获得一些启发,有所帮助。 全文8832字,预计阅读时间23分钟。 GEEK TALK 01 什么是日志 日 […]
最近遇到一个服务器的问题:磁盘满了,占用率 100%~ 这个问题太常见了,于是先来排查一波是哪些文件占用了大量磁盘。 一、排查磁盘占用率100% 1.1 查看磁盘使用的大致情况 第一个命令就是 df -h,来查看磁盘的占用情况。df 是 disk free 的缩写,用于显示目前在 Linux 系统上的文件系统磁盘的使用情况统计。 如下图所示,可以看到磁盘占用率 100%。 […]
上个周日12月18号,阿里云香港服务器发生了都不知道算 P 几事故的史诗级宕机事件,整个事件导致香港地区 C 区 ECS、OSS、EBS、RDS 等云服务大范围不可用,故障时间从 早上 8 点多一直持续到晚上 10 点多才最终恢复,整个故障时间长达 14 个小时。 比较有名的交易所平台如 Gate.io 和 OKEX 都受到大面积故障影响,我都还以为他们跑路了 […]
你好,我是悟空。 本文主要内容如下: 一、前言 最近项目的生产环境遇到一个奇怪的问题: 现象:每天早上客服人员在后台创建客服事件时,都会创建失败。当我们重启这个微服务后,后台就可以正常创建了客服事件了。到第二天早上又会创建失败,又得重启这个微服务才行。 初步排查:创建一个客服事件时,会用到 Redis 的递增操作来生成一个唯一的分布式 ID 作为事件 id。代码如下所示: […]
在字节码增强解密(上)的章节中,给大家介绍了字节码的基本结构、主流的字节码增强构架、以及各个架构的优缺点和应用建议。在本章节中,将从字节码的重载、JavaAgent、Dynamic Attach、以及对在线Debug的高级应用展开分析,给大家详细分解下字节码增强的实际应用。让你真正体会下字节码增强技术带来的丝般顺滑体验。 一、字节码的重载 在上一章节中,我们介绍了使用ASM […]
前言 字节码增强:指的是在Java字节码生成之后,对其进行修改,增强其功能,这种方式相当于对应用程序的二进制文件进行修改。 为什么要进行字节码增强呢?字节码增强可以用在什么地方呢?如何对字节码进行增强?增强的手段都有哪些?一起来看看吧 做为JAVA开发,你应该无数次的听过一句话:一次编译,到处运行。没错,这是JAVA的优势,但你有没有想过这究竟是为什么呢?Why??? 是因 […]
随着互联网技术的飞速发展,分布式已经成为一个绕不开的话题,分布式环境下,“高并发访问共享资源”的场景并不少见,带来的问题也显⽽易见:共享资源在访问前后出现了数据不一致或非预期结果!!! 单体时代可以⽤JVM提供的ReentrantLock或者Synchronized解决,分布式环境下,JVM就有点力不不从心了。于是乎,“分布式锁”便出现了。 01 什么是分布式锁? 在计算机 […]
本文主要讲述八戒知产的八年研发的历程。在2014~2016年期间,经历的野蛮式生长;在2017~2019年期间,拥有了自己的业务中台;在2020年开始,借助了Big Data+AI为业务保驾护航。在这个历程中,你又是怎样成长的呢,欢迎在留言区分享。 【野蛮生长 2014 ~ 2016】 当时,猪八戒网有大量的Logo设计需求,但缺乏变现的商业模式。通过数据分析和用户调查,发 […]
数据库备份是保障猪八戒数据安全必不可少的一部分,在猪八戒MySQL数据库上我们通常进行热备和binlog备份,目的是能回溯、恢复企业生产数据。其中基于binlog和备份恢复是日常数据库运维中一定会遇到的操作,本文通过一次案例介绍如何在误删除之后基于已有备份和binlog恢复数据以及什么样的备份是可以进行数据恢复的。 背景: MySQL5.6.40,库比较小,row+gtid […]
Part 1 背景介绍 我们的同学在之前发布的【技术分享】猪八戒网CICD最佳实践之路 一文中,介绍了猪八戒网的主流研发语言从 PHP 到 Java 的更替以及架构到 dubbo 为核心的 SOA 微服务框架 Nodejs 提供前端 web 能力的演进。随着业务的增加和架构的演进,项目工程数量的快速增⻓,交付开始变得频繁。相比 PHP,Nodejs 和 Java 对 CI […]
猪八戒网随着业务访问量的直线增长,用户增长达到一定规模后,同时面临着高并发业务和海量数据的挑战,传统单机房在服务器容量上存在瓶颈,而且在一些不可预知场景下,导致整个网站出现故障,例如机房断电、火灾等这些不可抗拒因素都会导致所有服务器出现宕机从而导致业务瘫痪,即使有备份,恢复业务花费的时间也比较长。所以公司根据实际业务情况选择了同城双活流量高可用架构,当然还有两地三中心、异地 […]
BeanUtils (1) BigDecimal (1) CDC (1) ETL (1) github (1) heap (1) LLaMa (1) MAT (5) MDM (1) Sora (1) TCP (1) 业务图 (1) 企业应用 (1) 停机迁移 (1) 内存泄露 (4) 协议 (1) 可用性 (1) 基础设施层 (1) 堆内存 (1) 堆外存 (1) 大事记 (1) 实时协作 (1) 对象转换 (1) 应用架构 (1) 异常 (3) 技术规范 (1) 技术选型 (4) 提示工程 (1) 数据交换 (1) 数据共享 (1) 数据双写 (1) 日期 (1) 时间 (1) 时间线 (1) 术语 (1) 架构方案 (14) 流程图 (1) 精度 (1) 线程模型 (1) 经验分享 (1) 网络编程 (2) 解耦 (1) 软件复杂性 (1) 软件工程 (1) 重构 (4) 重试 (1) 隔离级别 (1) 集群扩容 (1) 领域层 (3) 领域模型 (1)
COPYRIGHT © 2014-2024 verysu.com . ALL RIGHTS RESERVED.
Theme Kratos Made By Seaton Jiang