游医通项目后端架构介绍
项目简介
游医通是以完整的基层医疗机构-信息化解决方案为出发点,打造链接诊所、医生、患者、一站式互联网医疗服务系统,深度挖掘基层医疗机构需求,解决其真正痛点;全面提升医疗管理质量和可执行落地的综合性解决方案
项目特色:
- 前后端分离,基于shiroAPI的权限验证
- 基于zookeeper+dubbo的分布式框架,扩展更容易
- MysqL、Redis、多种数据存储方式,只为更快
- Mycat数据库分片技术,解决数据库实际扩容问题
- ActiveMQ发布消息订阅队列,让消息更快的流转
- 支付模块,支持支付宝沙箱支付和现金支付环境【微信小程序做医疗行业需要企业认证和相关资质,后期前端会用Flutter开发APP,然后调用沙箱接口做支付操作】
- wx快应用做患者登录、挂号、查询、订阅、咨询、文章阅读、评论、转发、药品订单下达的服务
- Docker的项目发布和动态扩容
- Nginx的负载均衡
技术选型:
后台技术:
组件 | 作用 | 参考网站 |
---|---|---|
Spring Framework | 容器 | http://projects.spring.io/spring-framework/ |
Spring Boot | 微服务框架 | https://spring.io/projects/spring-boot/ |
Shiro | 安全框架 | http://shiro.apache.org/ |
MyBatis-Plus | ORM框架 | https://mp.baomidou.com/ |
MyBatis Generator | 代码生成器插件 | https://zhile.io/2019/04/23/mybatis-code-helper-pro-crack.html |
ZooKeeper | 分布式协调服务 | http://zookeeper.apache.org/ |
dubbo-admin | 服务治理项目 | http://dubbo.apache.org/zh-cn/blog/dubbo-admin.html |
dubbo | 远程调用框架 | http://dubbo.apache.org/zh-cn/ |
Druid | 数据库连接池 | https://github.com/alibaba/druid |
Redis | 分布式缓存数据库 | https://redis.io/ |
ActiveMQ | 消息队列 | http://activemq.apache.org/ |
FastDFS | 分布式文件系统 | https://github.com/happyfish100/fastdfs |
Log4J | 日志组件 | http://logging.apache.org/log4j/1.2/ |
Swagger2 | 接口测试框架 | http://swagger.io/ |
Lombok | 简化编码插件 | https://projectlombok.org/ |
Jackson | 数据序列化 | https://github.com/FasterXML/jackson |
Maven | 项目构建管理 | http://maven.apache.org/ |
关于Shiro
Apache Shiro 是java的一个安全框架。Shiro可以非常容易的开发足够好的应用程序。其不仅可以用在javase开发环境,也可以用在javaee环境。Shiro可以帮助我们完成:认证、授权、加密、会话管理、与web集成、缓存等。
关于dubbo
Apache dubbo (incubating) |ˈdʌbəʊ| 是一款高性能、轻量级的开源Java RPC框架,它提供了三大核心能力:面向接口的远程方法调用,智能容错和负载均衡,以及服务自动注册和发现。
关于zookeeper
ZooKeeper是一个分布式的,开放源码的分布式应用程序协调服务,是Hadoop和Hbase的重要组件。为分布式应用提供一致性服务的软件,提供的功能包括:配置维护、域名服务、分布式同步、组服务等。
关于redis
Redis是当前比较热门的NOsql系统之一,它是一个开源的使用 c语言编写的key-value存储系统(区别于MysqL的二维表格的形式存储。)。和Memcache类似,但很大程度补偿了Memcache的不足。和Memcache一样,Redis数据都是缓存在计算机内存中,不同的是,Memcache只能将数据缓存到内存中,无法自动定期写入硬盘,这就表示,一断电或重启,内存清空,数据丢失。所以Memcache的应用场景适用于缓存无需持久化的数据。而Redis不同的是它会周期性的把更新的数据写入磁盘或者把修改操作写入追加的记录文件,实现数据的持久化
关于ActiveMQ
ActiveMQ是面向消息的中间件里面的一个成熟的,开源的落地的产品。它利用高效可靠的消息传递机制进行与平台无关的数据交流,并基于数据通信来进行分布式系统的集成。通过提供消息队列和消息主题两种形式,在分布式环境下为应用程序提供解耦,弹性伸缩,冗余存储,流量削峰,异步通信,数据同步等
大致流程:
后端项目整体技术选型,模块设计和功能演示:
系统管理模块
系统基础数据模块,主要包含科室管理、用户管理、角色管理、菜单管理、字典管理、通知公告、登陆日志管理、操作日志管理、检查费用设置、挂号费用设置,
主要包含RBAC权限设置功能,字典模块,基础数据维护模块,日志管理模块【目前就是开发到RBAC做完了,后面的都是画饼】
药品进销存模块
一个小型的药品ERP系统,包含生产厂家维护、药品信息维护、供应商维护、采购入库、审核、库存等查询
看病就诊模块
看病就诊、门诊挂号、挂号列表、新开就诊、我的排班、医生排班、患者库,里面的核心业务为挂号,就诊,排班
收费管理模块
主要处理挂号收费、检查收费、药品处方收费功能的处理
检查管理模块
数据统计模块
整个系统数据统计分支,包含 收支统计、药品销售统计、检查项目统计、工作量统计等功能。
项目架构
部署架构
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。