Category: Java Architecture

[转]一次生产 CPU 100% 排查优化实践 0

[转]一次生产 CPU 100% 排查优化实践

1. 前言 到了年底果然都不太平,最近又收到了运维报警:表示有些服务器负载非常高,让我们定位问题。 还真是想什么来什么,前些天还故意把某些服务器的负载提高(没错,老板让我写个 BUG!),不过还好是不同的环境互相没有影响。

[转]为什么不用原生Spring-Cloud-Config 0

[转]为什么不用原生Spring-Cloud-Config

近几年传统应用架构已经逐渐朝着微服务架构演进。那么随着业务的发展,微服务越来越庞大,此时服务配置的管理变得会复杂起来。为了方便服务配置文件统一管理,实时更新,配置中心应运而生。 其实,所谓配置中心,就是将配置的数据放在某种存储介质中,该介质可以是 File(例如Git、Svn) Database(例如mysql、oracle) nosql Database(例如Redis、Memacache、MongoDb) 其他第三方中间件(例如Zookeeper)

[总结]网易考拉基于Dubbo的微服务改造实践 0

[总结]网易考拉基于Dubbo的微服务改造实践

网易考拉(以下简称考拉)是网易旗下以跨境业务为主的综合型电商,自2015年1月9日上线公测后,业务保持了高速增长,这背后离不开其技术团队的支撑。微服务化是电商IT架构演化的必然趋势,网易考拉的服务架构演进也经历了从单体应用走向微服务化的整个过程,以下整理自网易考拉陶杨在近期Apache Dubbo Meetup上的分享,通过该文,您将了解到: 考拉架构的演进过程 考拉在服务化改造方面的实践 考拉在解决注册中心性能瓶颈方面的实践 考拉未来的规划

0

[转]Mysql性能优化实践

1. 一 题记 最近公司项目添加新功能,上线后发现有些功能的列表查询时间很久。原因是新功能用到旧功能的接口,而这些旧接口的 SQL 查询语句关联5,6张表且编写不够规范,导致 MySQL 在执行 SQL 语句时索引失效,进行全表扫描。原本负责优化的同事有事请假回家,因此优化查询数据的问题落在笔者手中。笔者在查阅网上 SQL 优化的资料后成功解决了问题,在此从全局角度,记录和总结 MySQL 查询优化相关技巧。 2. 二、优化思路 数据查询慢,不代表 SQL 语句写法有问题。 首先,我们需要找到问题的源头才能“对症下药”。笔者用一张流程图展示 MySQL 优化的思路: 无需更多言语,从图中可以清楚地看出,导致数据查询慢的原因有多种,如:缓存失效,在此一段时间内由于高并发访问导致 MySQL 服务器崩溃;SQL 语句编写问题;MySQL 服务器参数问题;硬件配置限制 MySQL 服务性能问题等。 3. 三、查看 MySQL 服务器运行的状态值 如果系统的并发请求数不高,且查询速度慢,可以忽略该步骤直接进行...

[转]携程新一代监控告警平台Hickwall架构演进 0

[转]携程新一代监控告警平台Hickwall架构演进

监控告警是网站可用性的第一道防线,为网站提供更加实时可靠高效的监控告警,对互联网企业具有非凡的意义。致力于这个目标,经过不断地改进,携程新一代监控告警平台 Hickwall 在存储效率、查询速度和告警可靠性方面都有了极大的改善。 本文将从存储、聚合、告警三个方面介绍 Hickwall 在核心架构方面的演进。

[转]Tomcat 性能调优之 JVM 调优 0

[转]Tomcat 性能调优之 JVM 调优

Tomcat、Jetty、GlassFish 等等这系列 Web容器/应用服务器,虽然做为容器,提供的是一个 Java Web 的运行时环境,以支持Servlet/JSP 等等这些内容的运行,但我们都很清楚,其本质上还是一个 Java 应用程序。 每次对于 容器的启动运行,都是把这个 Java 程序跑起来,来实现 Web 容器的能力。 做为一类“特殊”的 Java 应用程序,和任务其他的 Java 应用一样,需要使用到JVM,会有堆,会使用到垃圾回收,会涉及到不同的堆分区比例…  

[汇总]分布式事务 0

[汇总]分布式事务

阿里分布式事务框架GTS开源 为什么阿里规定需要在事务注解@Transactional中指定rollbackFor? 1.4 w字,25 张图让你彻底掌握分布式事务原理 别以为面试老问分布式事务,项目里就一定要用,坑贼多!     《我想进大厂》之分布式事务篇 从事务的ACID开始,向大家先说了XA是分布式事务处理的规范,之后谈到2PC和3PC,2PC有同步阻塞、单点故障和数据不一致的问题,3PC在一定程度上解决了同步阻塞和单点故障的问题,但是还是没有完全解决数据不一致的问题。 之后说到TCC、SAGA、消息队列的最终一致性的方案,TCC由于实现过于麻烦和复杂,业务很少应用,SAGA了解即可,国内也很少有应用到的,消息队列提供了解耦的实现方式,对于中小公司来说可能是较为低成本的实现方式。 最后再说目前国内的实现框架,云端阿里云的GTS兼容Seata,非云端使用Seata,它提供了XA、TCC、AT、SAGA的解决方案,可以说是目前的主流选择。 基于MySQL和DynamoDB的强一致性分布式事务实践