有没有办法在Java方法中传递回调函数?
我试图模仿的行为是传递给函数的.Net委托.
我见过人们建议创建一个单独的对象,但这似乎有些过分,但我知道有时矫枉过正是唯一的做法.
我有云统计(Structured data :: CSV)信息; 我必须向管理员和用户公开.
但是为了可扩展性; 数据收集将由与各个DB连接的多台机器(perf监视器)收集.
现在经理(经理)负责向所有性能监测器多播请求; 收集整体统计数据以满足单个UI请求.
所以问题是:
1)如何根据经理的客户要求对多个监控数据进行排序.每个监视器可以根据客户端请求给出结果; 但仍然如何通过java合并多个机器数据?意味着如何在内存中执行sql聚合/标量(例如,Groupby,orderby,avg)函数对从MGR处的多个聚类中检索到的所有结果.如何在java端实现DB sql聚合/标量功能,任何已知的API?我认为我需要的是在hadoop中减少mapreduce技术的一部分.
2)来自UI的请求(假设来自DB的选择计数(*),其中内存> 1000MB)必须转发到多台机器.现在如何将并行请求发送到单个监视器并仅在响应所有节点时使用?意味着如何等待用户线程直到消耗来自perf监视器的所有响应?如何在MGR上触发单个UI请求的并行REST请求.
3)我是否必须在Mgr和Perf监视器上验证UI用户?
4)你认为这种方法有任何缺点吗?
笔记:
1)我没有使用NoSql,因为数据是结构化的,不需要连接.
2)我没有去node.js因为我是新手,可能需要更多时间来开发它.此外,我没有开发任何单线程最适合的并发关键.这里只完成数据的推送/检索.没有修改发生.
3)我希望每个监视器都有单独的数据库,或者至少有两个具有多个集群的DB实例,以支持更快地访问实时BIG统计数据.