一个位置信息实时共享的服务器,如何实现

我想做一个基于spring boot 的简易的服务器给安卓用
大体完成的功能如下:

核心功能:接受前端发过来的数据,一份保存到数据库,一份转发给其他所有在线的用户
我说详细点,就是用户的位置信息,经过服务器的转发广播,达到一种位置实时共享的功能(当然也要保存数据库一份)

目前的疑问点

1、本人水平刚刚入门,最大的疑问点在这个 上述的广播的功能如何实现,也就是说 用户之间必须实时看得到对方的位置更新,一般这种实时的功能需要用到哪些技术
2、我的想法是 安卓用户a发送登录成功的消息之后,紧接着安卓端发送a自身位置信息,服务端收到后从数据库查询其他所有的用户信息给a,然后给其他所有数据库用户发送这个用户a的位置(一整套的if判断 以及crud)
3、 我上面所说的有涉及到的内容现成的类或者接口可以用吗,或者现成的解决方案,因为我学完se不久,面对这个功能实现处于一种闭门造车的状态,您或着提示我需要学习的技术(比如java web的哪部分),或者您能想到的类似的项目(也就是我应该去搜什么关键字 去模仿人家的开源项目),总之,什么建议想法 都希望可以指点一二,然后尽可能细腻些 多说一些展开讲讲,哪怕是您走过的弯路经验,晚辈不胜感激 谢谢了

广播功能可以借鉴Raft算法(http://thesecretlivesofdata.com/raft/ ),在发送自身位置的信息的返回信息中,携带其他用户的位置信息。
如果是web项目,可以考虑使用websocket(https://www.jianshu.com/p/3926d457e8bb)。

使用SpringBoot搭建实时通信服务
大概思路:
1.修改SpringBoot工程中的pom.xml配置,增加websocket的依赖
2.修改SpringBoot工程启动类,添加@EnableWebSocket注解来启用websocket能力支持
3.添加websocket配置
4.实现自己的消息处理器
5.建立Controller控制器层映射方法,来测试主动推送消息到客户端
6.编写客户端html代码验证websocket能力

建议采用Netty

你这个单单要共享位置的话用不着广播吧。
安卓用户a发送登录成功的消息之后,紧接着安卓端发送a自身位置到服务端,更新实时位置和在线状态到数据库(也可以是redis,效率高),同时查询数据库中所有在线用户的实时位置进行页面查询。
你安卓端写定时器,每秒或者每5秒(看你场景需要)更新自身位置,并查询其他人位置就行。
(每个人都只关注更新自己位置就行,其他人位置再更新自己位置得时候查询一次就好,用不着等别人广播)

如果你单纯想学习广播技术,实际应用一般使用第三方得推送广播(极光推送等),还可以自己实现,安卓使用Java-WebSocket,参考下:https://blog.csdn.net/u011100532/article/details/104895149

利用Spring Boot为Android App搭建一个简易的后台(一)
https://blog.csdn.net/qq_18704911/article/details/105734910

轮询或者 websocket

首先说用的插件 是rabbitmq 的广播模式
思路其实简单 一个发送广播 一个刷新其他用户位置
发送广播 是你设定一个时间间隙 向rabbitmq广播你自己的位置 并且记录数据库 如果是实时在线用户位置 可以不用记录数据库
刷新其他用户就是从rabbitmq广播中接收其他用户的广播数据 或者从你记录的数据中显示其他用户位置

可以实现一个mqtt实现即时消息推送,广播给其它用户,再去学习一下百度地图或者高德地图,实时拿你的gps坐标去地图里面去刷新标柱