- 浏览: 191342 次
- 性别:
- 来自: 杭州
最新评论
-
小灯笼:
Netty源码剖析视频教程网盘地址:https://pan.b ...
如何构建一个基于netty的后端服务器 -
jiangsulane911:
楼主有后续文章吗
akka接地气构建一个简单分布式系统 -
jiangsulane911:
现在也在学习akka.我用的是java版的
akka接地气构建一个简单分布式系统 -
kongdong88:
Netty简单应用与线上服务器部署课程学习地址:http:// ...
如何构建一个基于netty的后端服务器 -
zjwpw:
楼主GitHub地址呢
如何构建一个基于netty的后端服务器
文章列表
如何构建一个基于netty的后端服务器,先打个标题
直接上干货,这个是前奏,比较山寨的实现,大家可先自行看下
https://github.com/xiaotutiger/miyue-music-service/tree/master/miyue-music-service
下面将分析手头上一个项目,运用的技术很全,值得学习,先做一个简单介绍,当然业务部分代码就不讲了。
整个工程采用maven来管理,主要的技术是spring+jedis+netty+disruptor.看这个组合,这个服务器端性能应该很不错。
这个工程又引发我对技术无限热爱 ,哈哈。
...
看jdon时了解到了disruptor框架,也下过源码来看,是云里雾里,最终也不了了之,现在再次捡起来,希望能够理论结合实战,能够熟悉disruptor,觉得一个coder,总是会意淫一些优美的软件结构和优雅的代码,追求高性能,disruptor应该可以满足我们这些coder。
参考网址(http://www.jdon.com/42452 http://lmax-exchange.github.io/disruptor/)
目前处理并发场景常见手段,actors/stm/锁等等
何为stm
今天看summercool-hsf代码时发现了HashedWheelTimer这个类,其实这个类在老早以前看netty源码时就发现了,但最终不了了之,这次想深入了解下,无奈网上介绍这个小组件的资料太少了,只能一步步看下源码了,它是怎么实现的?它怎么使用的?它主要适用哪些场景?
jvm自带的一些排查工具
详见: http://blog.csdn.net/fenglibing/article/details/6411953
得到java进程
jps 命令
[admin@v127158.sqa.cm4 bin]$ jps
32141 Main
1674 Jps
ps 命令
[admin@v127158.sqa.cm4 bin]$ ps -ef |grep java
admin 3233 31883 0 19:03 pts/0 00:00:00 grep java
admin 32141 32130 1 ...
场景大致是这样的,在一些比较注重性能的场景下,需要适时监控代码的性能与相关执行数据的统计,比如通过打印日志的方式,让我们对于自己的程序有一个了解与把握?
2013-09-03 16:47:57,409 [] WARN itemCacheLogger - icTairCacheTotal:3712,icTairCacheSuccess:2840,icTairCacheFailure:872,icTairCacheCost:1.13;
成功率:
icTairCacheSuccPct: 76.5%,
失败率:
icTairCacheFailPct: 23.5%,
...
工程中关于关于spring的配置有点泛滥了,而且繁琐麻烦,是否能够通过一些简单的注解来去掉这种重复工作呢?
https://code.google.com/p/hatter-source-code/wiki/Blog_SpringCustomeNameSpaceAndTag
这篇文章不错,在此mark一下,后面再 将自己工程里实战贴出来
接触hbase redis这类技术,其实很早了,但一直没有做一个总结与进一步的学习,这里忙里偷闲,将陆续花一些时间来深入学习一下。
hbase redis 在公司项目中都有用到,hbase的使用场景说来很惭愧,只是放置一些操作日志之类的非核心数据,。
这里是浏览器上的几个参考资料
http://www.javabloger.com/article/apache-hbase-shell-and-install-key-value.html
http://www.alidata.org/archives/1509
看并发编程网的一些记录
- 博客分类:
- 软编码
喜欢没事的时候就去看下ifeve.com并发编程网,有些内容还是需要好好的去消化的(不知道大家有没有这种情况,感觉貌似懂了,但却不能说个原由,且对总不能够系统化),接下来,想把并发编程网里的存档文章好好看下,并在这里写一些记录,希望有意义。
FAQ1 http://ifeve.com/what-is-context-switching/ 这是并发编程网上对上下文的理解
脑子过下,觉得平时大家谈到多线程并发编程时,多线程时有个弊端,会引发比较多的上下文切换,导致应用效率比较低下,很不专业的思考,导致引用吞吐量很低,上下文切换,看了很多版本,发下最新发行的java并发编 ...
http://www.kafeitu.me/tools/2013/03/26/intellij-deal-chinese-disorderly-code.html
使用idea两周了,基本使用没问题了,但还是没有陪伴了自己多年的eclipse顺手,不做两者比较吧,各有长短,有句话怎么说,不忘初爱,方得始终。
idea 12.1.4 推荐的scheme是darcula、黑色基调,不是很喜欢,自己还是喜欢default样式。
字体微软雅黑不错(source pro code字体) 14号字体,个人比较浮躁,字体需要调大点。
经常使用的功能,基本是编辑区的一些快捷键 ...
学习clojure有一段时间了,大多停留在看clojure doc与api和书籍上面,看的写的都是基于repl的一些零碎单调的小例子,基本的函数与关键字大概熟悉了,但还需要大量案例与工程的学习,在这篇文章中,我将零零碎碎地把自己阅读工程源码和如何构建自己的web项目的过程记录在这篇文章中,目前在读的主要是三个github上clojure web工程,工程不大,还是比较适合自己对clojure的进一步的学习,这里我贴下路径,
一个基于noir框架+bootstrap编写的关于tair(kv系统)的监控项目
https://github.com/dutor/lemon/blob/ ...
学习scala有一会了,零零碎碎,没有太多时间与精力投入,一段时间后,也厌倦了,虽然scala某些方面很犀利,但兴趣到最后也没多少了,遇到了clojure\也是缘于http://blog.fnil.net/ ,这几天逐步有点入门了,至今而觉比scala要简单许多,也是这才是语言的精髓与王道,而不是看它有多复杂,曲高和寡呀。
什么时候也整个教程啥的。。。
let 在clojure使用很广泛 http://clojuredocs.org/clojure_core/clojure.core/let
好的教程
https://code.google.com/p ...
这里要讲的任务,不是quartz这种可配置调度的任务框架,不是常见的Queue+线程池的实现方式,需要凸显如何更可靠,同事无聊的作品,在这里我将讲下,同时也会做一些发散。
如何保证可靠呢?持久化,可能是一种实现方案,osprey+mission、一个是单机的,一个是分布式的,自己作为学习还是很有意思的,因为牵涉到内部太多的依赖,不上传代码了,而且无意闯入者未必感兴趣,这里权当写个自己的吧。
osprey 主要使用场景是事务不容易实现的地方,要确保最终的步骤必须执行完全保证数据的一致性。
这个工具接口设计还是比较友好的,易于使用.
rocketMq横空出世,结束了我眼界之内消息中间件必须有其它语言插一腿的局面,这是一个纯java的消息中间件,当然在这之前,没有开源的消息中间件也是有的,notify等,这次值得庆贺的是rocketMq是开源的,其实我很早的一篇博客就讲了消息jms、但无奈始终找不到一个pure java实现的消息系统,这次一定得好好挖下。
代码还是从github上git下,还是蛮方便的,https://github.com/alibaba/RocketMQ.git,用maven构建一下,ide不标红,这感觉特好。
迫不及待地就运行了example\但就是没搞清楚server端是如何发布地址 ...
目前关于网络框架,什么基于事件架构(EDA)、异步、无阻塞,高性能等概念充斥,像这样框架真的太多。其中
mina、netty、grizzy等比较原始,相当于鼻祖,国内比较知名且基于以上的也很多、hsf、dubbo、venus等、先就一个标题,后 ...
本篇文章,想谈谈如何实现一个简单的httpServer,不做它用,只是借此了解下tomcat、jetty、douyu等这些web容器或者说是servlet容器是如何实现的,当然如果大家觉得上面的容器过于庞大,难以知全貌,可以从简单的入手,jdk自带httpserver入手,实现的代码很少,但并没有实现http所有功能,但对于理解httpServer还是很好的,这个估计大家只能看到class文件,不能看到源码,附件是源码,大家可自行下载看下,接下来,还会逐步深入,只是记录下自己的学习历程,如果能给大家帮助,那将是额外的好处了。
大家如何理解java框架中经常出现的一些编程思想,如pip ...