小编Dav*_*vid的帖子

173
推荐指数
2
解决办法
8万
查看次数

最佳发布/订阅"中间件"

我正在市场上建立一个基于开源网络的Pub/Sub(观察者模式)库.我没有找到任何我喜欢的:

  • JMS - 与Java绑定,将消息内容视为哑二进制blob

  • NDDS - $$,使用IDL

  • CORBA/ICE - Pub/Sub构建在RPC之上,CORBA API不直观

  • JBOSS/ESB - 不太熟悉

如果这样的包可以满足以下条件,那就太好了:

  • 基于网络

  • 意识到有效负载数据,用户不必担心端/序列化问题

  • 多语言支持(C++,ruby,Java,python会很好)

  • 没有自动生成的代码(没有IDL!)

  • 直观的订阅/主题管理

为了好玩,我创造了自己的.思考?

soa middleware mom publish-subscribe observer-pattern

9
推荐指数
1
解决办法
8103
查看次数

Linux 3/1虚拟地址拆分

在了解highmem需要超过1GB的RAM时,我遗漏了一些东西.有人能指出我哪里出错吗?谢谢!

我知道的:

  • 为内核操作保留1 GB进程的虚拟内存(高内存区域).用户空间可以使用剩余的3 GB.这是3/1分裂.

  • VM的虚拟内存功能将(连续)虚拟内存页面映射到物理页面(RAM).

我不知道的是:

  • 什么操作使用内核虚拟内存?我想像内核空间中的kmalloc(...)这样的东西会使用内核虚拟内存.

  • 我认为在这个方案下可以使用4GB的RAM.我不明白为什么内核1 GB虚拟空间是解决物理空间时的限制因素.这是我理解失败的地方.请指教.

我一直在读这篇文章(http://kerneltrap.org/node/2450),这很棒.但它并不能完全解决我的问题.

linux virtual-memory linux-kernel

9
推荐指数
2
解决办法
7424
查看次数

Haskell Webserver:维护应用程序状态

我正在尝试通过开发web-app-ish服务来更熟悉Haskell.

假设我正在开发一个Web服务器,我希望在请求之间保持持久状态; 例如,一个柜台.什么是Haskell的做事方式?

我在Google搜索中遇到了这个讨论.建议的解决方案看起来像是不该做的一个很好的例子.

我的一个想法是让请求处理程序接受一个MVar:

requestHandler :: MVar State -> IO (Maybe Response)
Run Code Online (Sandbox Code Playgroud)

注册处理程序时,可以使用在main中创建的MVar进行curry.

肯定有更好的办法.我不禁想到我正在以非功能性的方式解决这个问题.

谢谢!

haskell functional-programming happstack

7
推荐指数
1
解决办法
492
查看次数