随笔分类 -  程序设计

程序开发设计思想、模型设计、程序设计等内容
摘要:任何系统都需要提供监控功能,否则在运行期间发生一些异常时,我们将会束手无策。也许有人说,可以增加日志来解决这个问题。日志只能解决你的程序逻辑在运行期的监控,进而发现Bug,以及提供对业务有帮助的调试信息。当你的JVM进程奔溃或者程序响应速度很慢时,这些日志将毫无用处。好在JVM提供了jstat、jstack、jinfo、jmap、jhat等工具帮助我们分析,更有VisualVM的可视化界面以更加直观的方式对JVM运行期的状况进行监控。此外,像Tomcat、Hadoop等服务都提供了基于Web的监控页面,用浏览器能访问具有样式及布局,并提供丰富监控数据的页面无疑是一种简单、高效的方式。 阅读全文
posted @ 2019-02-28 14:45 泰山不老生 阅读(2583) 评论(0) 推荐(1) 编辑
摘要:对于一个系统而言,首先考虑要满足一些业务场景,并实现功能。随着系统功能越来越多,代码量级越来越高,系统的可维护性、可测试性、性能都会成为新的挑战,这时监控功能就变得越来越重要了。在国内,绝大多数IT公司的项目都以业务为导向,以完成功能为目标,这些项目在立项、设计、开发、上线的各个阶段,很少有人会考虑到监控的问题。 阅读全文
posted @ 2019-01-07 10:18 泰山不老生 阅读(823) 评论(0) 推荐(2) 编辑
摘要:Spark程序在运行的过程中,Driver端的很多功能都依赖于事件的传递和处理,而事件总线在这中间发挥着至关重要的纽带作用。事件总线通过异步线程,提高了Driver执行的效率。 阅读全文
posted @ 2018-12-19 10:58 泰山不老生 阅读(1846) 评论(0) 推荐(3) 编辑
摘要:在Spark中很多地方都涉及网络通信,比如Spark各个组件间的消息互通、用户文件与Jar包的上传、节点间的Shuffle过程、Block数据的复制与备份等。在Spark 0.x.x与Spark 1.x.x版本中,组件间的消息通信主要借助于Akka,使用Akka可以轻松的构建强有力的高并发与分布式应用。但是Akka在Spark 2.0.0版本中被移除了,https://img2018.cnblogs.com/blog/816981/201810/816981-20181016145505263-870721231.jpg 阅读全文
posted @ 2018-11-05 18:57 泰山不老生 阅读(3090) 评论(0) 推荐(0) 编辑
摘要:每项技术的诞生都会由某种社会需求所驱动,Spark正是在实时计算的大量需求下诞生的。Spark借助其优秀的处理能力,可用性高,丰富的数据源支持等特点,在当前大数据领域变得火热,参与的开发者也越来越多。 阅读全文
posted @ 2018-09-29 17:53 泰山不老生 阅读(1146) 评论(0) 推荐(0) 编辑
摘要:正如其它RPC或者RMI框架那样,Akka也提供了远程调用的能力。服务端在监听的端口上接收客户端的调用。本文将在《Spring与Akka的集成》一文的基础上介绍Akka的remote调用,本文很多代码和例子来源于Akka官网的代码示例,也包含了一些适用于Spring集成的改造,本文旨在介绍Akka的远程调用的开发过程。 阅读全文
posted @ 2018-05-28 11:15 泰山不老生 阅读(3811) 评论(0) 推荐(1) 编辑
摘要:近年来随着Spark的火热,Spark本身使用的开发语言Scala、用到的分布式内存文件系统Tachyon(现已更名为Alluxio)以及基于Actor并发编程模型的Akka都引起了大家的注意。了解过Akka或者Actor的人应该知道,这的确是一个很不错的框架,按照Akka官网的描述——使用Akka使得构建强有力的并发与分布式应用将更加容易。由于历史原因,很多Web系统在开发分布式服务时首先会选择RMI(Remote Method Invoke ,远程方法调用)、RPC(Remote Procedure Call Protocol,远程过程调用)或者使用JMS(Java Messaging Service,Java消息服务)。 阅读全文
posted @ 2018-03-16 14:45 泰山不老生 阅读(5155) 评论(0) 推荐(0) 编辑
摘要:引文 学习Hadoop的同学们,一定知道如果运行Hadoop自带的各种例子,以大名鼎鼎的wordcount为例,你会输入以下命令: 当然,有些人还会用以下替代方式: 相比于原始的执行方式,使用jar命令方式,让我们不用再敲入繁琐的完整包路径。比如我们知道hadoop-mapreduce-exampl 阅读全文
posted @ 2016-04-29 13:16 泰山不老生 阅读(3289) 评论(0) 推荐(1) 编辑
摘要:说实在的,在阅读Hadoop YARN的源码之前,我对于java枚举的使用相形见绌。YARN中实现的事件在可读性、可维护性、可扩展性方面的工作都值得借鉴。 阅读全文
posted @ 2016-04-27 15:19 泰山不老生 阅读(708) 评论(0) 推荐(2) 编辑
摘要:任何系统都需要提供监控功能,用浏览器能访问具有样式及布局,并提供丰富监控数据的页面无疑是一种简单、高效的方式。SparkUI就是这样的服务,它的构成如图3-1所示。 阅读全文
posted @ 2016-02-22 12:42 泰山不老生 阅读(3938) 评论(0) 推荐(1) 编辑
摘要:前言 程序员们在日常的工作中经常会面临分析需求、原型设计、程序设计、编码实现、测试及部署上线整个流程的其中一个或者多个环节。程序设计可以认为是最重要的环节之一,因为如果没有好的程序设计,所实现的功能必将在可复用性、扩展性、可维护性、可测试性等方面发生问题。本文着重讲解程序设计中最常见的问题——冲突... 阅读全文
posted @ 2015-11-25 11:29 泰山不老生 阅读(1167) 评论(0) 推荐(2) 编辑
摘要:前言 程序员们在日常的工作中经常会面临分析需求、原型设计、程序设计、编码实现、测试及部署上线整个流程的其中一个或者多个环节。程序设计可以认为是最重要的环节之一,因为如果没有好的程序设计,所实现的功能必将在可复用性、扩展性、可维护性、可测试性等方面发生问题。本文着重讲解程序设计中最常见的一种思想——... 阅读全文
posted @ 2015-11-09 10:46 泰山不老生 阅读(3661) 评论(6) 推荐(0) 编辑

点击右上角即可分享
微信分享提示