加入收藏 | 设为首页 | 会员中心 | 我要投稿 衡阳站长网 (https://www.0734zz.cn/)- 数据集成、设备管理、备份、数据加密、智能搜索!
当前位置: 首页 > 服务器 > 搭建环境 > Windows > 正文

使用Netty,我们到底在开发些什么?

发布时间:2019-07-17 20:34:29 所属栏目:Windows 来源:王知无大数据
导读:在java界,netty无疑是开发网络应用的拿手菜。你不需要太多关注复杂的nio模型和底层网络的细节,使用其丰富的接口,可以很容易的实现复杂的通讯功能。 和golang的网络模块相比,netty还是太过臃肿。不过java类框架就是这样,属于那种离了IDE就无法存活的编

缓存可能是网络应用里用的最多的组件。jvm内缓存可以存储一些单机的统计数据,redis等存储一些全局性的统计和中间态数据。

使用Netty,我们到底在开发些什么?

网络应用中会大量使用redis、kv、高吞吐的mq,用来快速响应用户请求。总之,尽量保持通讯层的清爽,你会省去很多忧虑。

单机支持100万连接的Linux配置

单机支持100万连接是可行的,但带宽问题会成为显著的瓶颈。启用压缩的二进制协议会节省部分带宽,但开发难度增加。

和《LWP进程资源耗尽,Resource temporarily unavailable》中提到的ES配置一样,优化都有类似的思路。这份配置,可以节省你几天的时间,请收下!

操作系统优化

更改进程最大文件句柄数

  1. ulimit -n 1048576 

修改单个进程可分配的最大文件数

  1. echo 2097152 > /proc/sys/fs/nr_open 

修改/etc/security/limits.conf文件

  1. * soft nofile 1048576* hard nofile 1048576* soft nproc unlimitedroot soft nproc unlimited 

记得清理掉/etc/security/limits.d/*下的配置

网络优化

打开/etc/sysctl.conf,添加配置

然后执行,使用sysctl生效

  1. #单个进程可分配的最大文件数 
  2. fs.nr_open=2097152 
  3. #系统最大文件句柄数 
  4. fs.file-max = 1048576 
  5. #backlog 设置 
  6. net.core.somaxconn=32768 
  7. net.ipv4.tcp_max_syn_backlog=16384 
  8. net.core.netdev_max_backlog=16384 
  9. #可用知名端口范围配置 
  10. net.ipv4.ip_local_port_range='1000 65535' 
  11. #TCP Socket 读写 Buffer 设置 
  12. net.core.rmem_default=262144 
  13. net.core.wmem_default=262144 
  14. net.core.rmem_max=16777216 
  15. net.core.wmem_max=16777216 
  16. net.core.optmem_max=16777216 
  17. net.ipv4.tcp_rmem='1024 4096 16777216' 
  18. net.ipv4.tcp_wmem='1024 4096 16777216' 
  19. #TCP 连接追踪设置 
  20. net.nf_conntrack_max=1000000 
  21. net.netfilter.nf_conntrack_max=1000000 
  22. net.netfilter.nf_conntrack_tcp_timeout_time_wait=30 
  23. #TIME-WAIT Socket 最大数量、回收与重用设置 
  24. net.ipv4.tcp_max_tw_buckets=1048576 
  25. # FIN-WAIT-2 Socket 超时设置 
  26. net.ipv4.tcp_fin_timeout = 15 

总结

netty的开发工作并不集中在netty本身,更多体现在保证服务的高可靠性和稳定性上。同时有大量的工作集中在监控和调试,减少bug修复的成本。

深入了解netty是在系统遇到疑难问题时能够深入挖掘进行排查,或者对苛刻的性能进行提升。但对于广大应用开发者来说,netty的上手成本小,死挖底层并不会产生太多收益。

它只是个工具,你还能让它怎样啊。

【编辑推荐】

  1. 你没玩过的全新版本Windows 10这些操作你知多少?
  2. 在Fedora中安装替代版本的RPM包
  3. Windows 10系统各版本功能比较说明
  4. 在Linux中如何从命令行查找VirtualBox版本
  5. 第一次!Windows 10开始警告旧版本过期
【责任编辑:武晓燕 TEL:(010)68476606】
点赞 0

(编辑:衡阳站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

热点阅读