最近准备做一个多模块的项目(Java),为了便于开发和拓展,想达到以下目标:
1.各模块独立部署和增加、删除,共享同一个授权中心
难题:
1.各模块独立部署,难于共享对象(java)(序列化很难保证多线程的问题?)
想到的办法有:
1.用 Unix 域套接字,这个速度比较快,但实现起来较为复杂,虽然有现成的框架,但都需要接触的 native 层
2.sso,这个只能共同登录,但是更精细的权限控制,比如能够访问、对某个子系统的读写等难以控制,不想让每个子系统控制自己的权限,而是在权限系统管理所有系统的权限
3.数据库 +redis 缓存,因为权限请求很频繁,数据库是通过 TCP 的,没有直接访问内存快?当然可能系统瓶颈也不在这
4,权限中心作为一个服务,通过 http api 进行调用,便于拓展和分离模块,缺点是好像比 3 更慢?
5,共享内存,这个不太了解,有了解的朋友欢迎来谈谈
6.欢迎大家补充与指正
欢迎来到这里!
我们正在构建一个小众社区,大家在这里相互信任,以平等 • 自由 • 奔放的价值观进行分享交流。最终,希望大家能够找到与自己志同道合的伙伴,共同成长。
注册 关于