MonitoringService
+heartBeat():boolean
ConcretService
-mq:MessageQueue-dse:DataSearchEngine-df:DataFetching-ac:AuthorityCheck-ms:MonitorService
+ handleRequest(RequestPara)
ServiceInfo
- id: long- serviceName: String- serviceBalance: double......
+ getters & setters
ServiceProxy
DataSearchEngine
- cache:Collection- df:DataFetching
+ getData(QueryPara)- isLoaded(QueryPara)- cleanCache()
Snack
-id: int-name: String-price: double-taste: String-storeID: int-pictureList: List
后台管理系统
Store
-id: int-name: String-address: String
AuthorityCheck
-token:String
+checkAuthority(RequestPara)
DaoFactory
- databaseconfig- daos
+ getDao(DaoType)
ErrorCheck
ShutdownHook();
SecurityService
+SecurityService(RequestString):String
User
-id: int-name: String-password: String
1
ConnectCheck
CloseFuture();
前端服务器
Order
-id: int-userID: int-snakeID: int-time: Date-amount: double
StoreManager
-id: int-name: String-password: String-storeID: int
Service
+serviceInfo:ServiceInfo
+update(serviceInfo):void+heartBeat():void+requestParsing(RequestString)
StoreDaoImpl
+getStoreByID(id: int)+createStore(store: Store)+updateStore(store: Store)
StateServiceImpl
+getState()
数据存储模块
OrderDaoImpl
+getOrderByID(id: int)+getAllOrder(userID: int)+createOrder(order: Order)+deleteOrder(id: int)
1...n
MessageCheck
HalfPackageHandle();ParityCheck();
RequestParserService
+requestParsing(RequestString)
RequestSeviceProxy
+ request(String): String
MessageQueue
-requests:List
+ put()+ get() - resize()
UserDao
+getUserByID(id: int)+createUser(user: User)+updateUser(user: User)
PictureDao
+getPictureByID(id: int)+getAllPictureBySnack(snackID: int)+createPicture(picture: Picture)+deletePicture(id: int)
QueryOrder
setOrder();
Message
id:long
receive();transfer();
ServiceTable
+id:long+list: List
+getter&setter
RegisterTable
- id: long- serviceList: List......
RegisterServiceProxy
- serviceInfo: ServiceInfo
+ listenService(ServiceInfo): void+ registerService(ServiceInfo): void
Leader
- id: long- name: String- role: int- registerList: List......
+ getters & setters+ sync(RegisterTable): boolean+ elect(): boolean+ listenService(ServiceInfo): void+ registerService(ServiceInfo): void+ request(String): String
PictureDaoImpl
RegisterListener
MonitorService
- callInfos
OrderDao
StateService
注册中心模块
SnackDao
+getSnackByID(id: int)+createSnack(snake: Snake)+updateSnack(snake: Snake)+deleteSnack(id: int)+getAllSnackByStore(storeID: int)
SnackDaoImpl
Serial/Deserial
ByteBuf bytebuf;Object object;
encode();decode();
UserDaoImpl
Picture
-id: int-name: String-snackID: int-path: String
RequestService
ServiceTableService
+updateSelf():void+update(ServiceInfo):void
+id:long+serviceName:String+serviceAddress:String...
SyncService
+ sync(RegisterTable): boolean+ elect(): boolean
通信模块
httpRequest
服务集群
StoreDao