Spring Cloud2.X ——宏观视图

随着对微服务的的实践经验的增加,慢慢的对微服务有了一个宏观上的理解,简单整理一下;下面画了一张图,比较清晰的描绘了微服务组件的协作关系,以及微服务架构下面临的挑战; 服务注册 微服务架构下,服务的统一注册是前提,只有将所有服务集中注册起来按服务名称进行归类,提供统一的服务视图,才能更...

2019-05-12 14:18:57

阅读数 37

评论数 0

记一次高并发、大流量场景下的缓存、限流优化

目录 场景描述: 历史优化措施 可行性分析 硬件设备 流量分析 峰值预估【单个服务】 缓存预估 峰值流量处理 可行性方案 源端转发 分布式缓存 本地缓存 可行性实践 案例1 问题分析 基于Guava的本地缓存 基于Guava的令牌桶限流算法 参数配置 场景描述...

2019-05-12 14:10:53

阅读数 40

评论数 0

记一次JVM线程池配置不合理导致的JVM挂掉问题排查

原则一 ——尽一切可能保护有限的资源。 问题描述 现场反馈,服务启动起来有一段时间就自己挂掉了,大概几十秒到几分钟,技支反馈日志突然就中断了,看不到任何错误的迹象; 原因预估 我确信,经验不同的人排查问题的思路差异是非常大的,庆幸的是这些可以借鉴,我们应该总结自己的经验,借鉴旁人的经验;...

2019-05-12 13:13:34

阅读数 42

评论数 0

架构设计-数据接入服务

标签: 门面模式、观察者模式、责任链模式、模式组合 设计原则 流程清晰、责任明确、易于扩展、兼顾性能。 场景描述: 需要提供一个服务开发若干接口可以是REST或者WEBSERVICE实现,协议数据包含两大类数据内容结构化数据和图片数据。整个服务需要完成结构化数据的输入、...

2019-03-30 13:02:19

阅读数 53

评论数 0

Spring Boot +Mybatis多数据源配置

Spring Boot项目在整合Mybatis过程中全部使用了注解配置,由于业务系统涉及多个数据源,查阅后整理输出供需要的伙伴参考。 难点 由于全部使用@Mapper注解在接口中定义了DAO层逻辑,且在使用过程中直接使用@Autowired注入了该接口的代理对象,因此在有多个数据源的场景下在什...

2019-03-10 16:30:37

阅读数 44

评论数 0

QUARTZ基于SPARK LAUNCHER 驱动SPARK离线作业

场景:不同业务下输出了若干Spark的离线任务,原有的方式我们是基于Linux的CRON任务来驱动,不好进行监管、日志不好收集、服务不集中、难于管理、不好配置、资源调度不灵活。SparkLauncher 提供了编程方式提交Spark应用的方式提交Spark应用程序,可以结合Springboot、Q...

2018-12-21 16:19:48

阅读数 242

评论数 0

Springboot 整合druid数据源

为什么要用druid还没好好考虑,先用一下试试,这次用了Spring Boot环境,比较间接的整理一下一种配置的流程,总的来说我可以通过一个网站监控一下我的数据源的情况,这是其它数据源暂时都不能提供的优势,也是性能排查的利器。 创建durid数据源配置文件,这里使用application....

2018-06-16 09:58:13

阅读数 244

评论数 0

高性能分布式计数器中的并发设计和思考

高性能分布式计数器中的并发设计 场景介绍 对实时数据流以不同纬度进行计数并将结果保存到Oracle表中.要求达到以下目标: 实时性有要求,单并非是严格要求,根据数据量的大小可适当延迟 严格要求数据一致性,即在数据正确的情况下计数的结果应该和总记录数是一致的 服务是可扩展的,尽量避免...

2018-06-16 09:36:25

阅读数 944

评论数 0

记一次从CPU使用率高到接口性能的排查过程

       两年前曾写过一个库代码,写这个库代码的时候也是咨询了各路大神们,也是由于自己技能储备不足,导致当时完成的也是小心翼翼,也是如期上线.       两年时间过去了,最近在排查该项目现场性能问题的时候猜测意是否由于当时的类库实现的不合理引起的。首先看下直接表现出来的问题。CPU用户进程C...

2018-06-09 14:31:21

阅读数 857

评论数 0

关于Phoenix的一些学习引导

1.什么是Phoenix?    首先你得了解Hbase、使用过Hbase并对Hbase现有的Api操作方式感到困惑和不满,那么继续看下去才更有意义。Phoenix 是Hbase上的高层组件,是一个独立的开源项目,其基于Hbase的扫描操作和协处理器实现了一套底层基于Hbase表结构的标准SQL层...

2018-05-19 09:32:36

阅读数 408

评论数 0

Spark1.5.2写kafka数据到Elasticsearch入坑总结

概述:总结一下Spark1.5.2+Kafka 0.8+中使用Direct Approach(直接获取的方式)消费Kafka数据开发过程中遇到的各种问题和经验.整合Spring    Spark开发中引入Spring可以方便的管理配置信息,数据源等,借助于Scala的单例特性可以创建一个独立的加载...

2018-04-19 19:53:02

阅读数 557

评论数 0

SpringBoot 启动流程分析

用了Spring Boot有一段时间了,相比于Spring要理解它更难一些,在Spring boot中提出以下几个疑问Spring Boot的架构是如何设计的,能很轻松的整合很多开源组件。Spring Boot中资源如何加载,事件如何管理,什么时候可以对Spring Boot进行扩展[什么时候可以...

2018-04-01 17:23:21

阅读数 1382

评论数 0

Redis+Lua去服务单点优化

        Lua是一个脚本语言,使用C编写并开放源代码,主要是为了嵌入应用程序中,为应用提供扩展和定制。Lua语言这里不多提及,可阅读Lua官网http://www.lua.org/ 或者菜鸟教程了解(更容易一些)。这里重点介绍Lua在Redis中的应用,以一个简单的升级版的Redis去除服...

2018-03-25 08:29:59

阅读数 239

评论数 1

记一次FastDFS优化

问题描述         18个Strorage+1Tracker的线上环境,Stroage存储18T磁盘剩余空间平衡在97%左右.默认配置下频繁出现图片下载失败的情况,由于客户端代码使用了连接池,最终表现出连接资源不足.跟踪若干Storage日志偶尔有"send timeout...

2018-03-20 19:56:49

阅读数 2047

评论数 1

Spark1.5.2日志配置&数据文件清理

本节讨论Spark Standalone Mode 模式下的日志配置及作用运行过程中的历史文件的清理,避免线上环境的不合理配置导致大量的遗留数据填满磁盘导致节点服务不可用的情况。日志文件Spark原生支持使用log4j配置文件,针对于Spark集群的log4j日志文件应该放置在SPARK_HOME...

2018-03-15 12:57:27

阅读数 640

评论数 1

Logstash入门实战

提问:现有一服务用于清理Elasticsearch中索引的文本数据,在这之前需要保证将记录中关联的几张图片也删除掉才能将该条记录完全删除,由于删除图片采用RPC部署的多个删除服务来完成,网络故障自然无法避免,同时对于Elasticsearch数据抓取采用Scroll API以减轻对Elastics...

2018-03-11 13:39:52

阅读数 869

评论数 0

记一次Phoenix写入优化

场景描述 现有大量CSV格式的数据记录存储在HDFS中,需要批量索引到Hbase以便于数据查询。限于Hbase的主键索引以及使用Hbase API的诸多不方便,最后采用了Phoenix+Hbase的技术架构。基于此方案数据的索引可通过Phoenix的SQL API、Spark RDD插件、以及P...

2018-01-21 20:23:05

阅读数 2419

评论数 0

Redis、Zookeeper去服务单点问题实践

常见的单个服务要要完成某个核心功能,由于设计原因该服务智能部署一个不支持多个同时运行,一方面在服务可运行的情况下要在运维人员意外的启动多个服务节点的情况下服务仍然能够正常运行,另外单个节点运行的服务在主机发生故障的时候难免导致服务意外终止,这种场景下我们更希望采用一种更优雅的方式不中断服务。以下以...

2017-12-03 16:30:09

阅读数 1030

评论数 0

Apche Avro 实现RPC调用

流行的序列化框架有很多,常见的 Avro、Hessian、Protostuff、Thrift等,致力解决各种场景的数据序列化提高程序运行效率,基于现有的序列化行为不同的序列化协议不同程度的实现了消息协议进而提供了基础的RPC程序调用。通常应用程序的开发都是基于RPC层面进行,大大简化了跨进程通信的...

2017-12-03 15:24:46

阅读数 517

评论数 0

Hessian 实现RPC调用

http,webservice等web服务实现RPC大都使用文本协议进行数据传输,弊端在于使用文本进行数据传输浪费了部分网络带宽,尤其在传输大量的可通过编码压缩的数据时其性能有很大的可提升空间,通过对RPC传输的数据进行必要的编码能降低服务负载和网络IO开销,提高系统整体性能。 Hession是...

2017-12-03 10:32:57

阅读数 441

评论数 0

提示
确定要删除当前文章?
取消 删除
关闭
关闭