美文网首页
WCS 系统技术选型

WCS 系统技术选型

作者: tcny | 来源:发表于2020-01-19 22:16 被阅读0次

面向开发

微服务框架

  • Spring Cloud

服务发现

  • Nacos

集中配置

  • Nacos

API 网关

  • Spring Cloud Gateway

进程间通信

  • OpenFeign: REST( HTTP + JSON )
  • Dubbo: rpc

Dubbo 可以与 Spring Cloud 较完美结合,理论上 OpenFeign 和 Dubbo 可共同使用,但在实际开发中,一般情况下要选择一种方式。
REST 跨平台,如果有使用异构语言的需求,这是最简洁的方案。基于文本的协议,序列化和反序列化性能较低,但一般情况下还好。需要要写文档,或者通过工具(例如 Swagger)生成文档,调用方需要脱离编码环境阅读文档,文档维护有一定成本。
Dubbo 性能更高,rpc 方案对开发来说也很方便,Service 不必包一层 Controller 即可对外提供服务。封装 API 层,接口情况一目了然,文档维护成本很低。
综上,个人倾向使用 Dubbo 进行服务间同步调用。主要还是从开发和维护的角度出发。

  • RocketMQ: 异步,消息队列
    Spring Cloud 封装了 Spring Cloud Stream, 阿里提供了 Stream 基于 RocketMQ 的实现。

客户端负载均衡

  • Ribbon: 使用 Feign 时使用
  • Dubbo 内建

断路器

  • Sentinel
    Sentinel 阿里出品,支持主流框架,并自带Dashboard。

分布式事务

  • Seata
    尽量通过设计绕开对分布式事务的依赖。

数据库

  • MySQL

ORM

  • MyBatis
    使用原生 SQL,出现故障和性能瓶颈时,可采取的手段较多,较容易,DBA 和开发都可介入。一般情况下需要付出维护 xml / 注解 的额外精力,有一些工具(e.g. 逆向工程 和 MyBatis Plus)可用。
  • JPA
    面向对象,只需要关心少量 Java 代码,开发十分便捷。一般情况下与 MyBatis 的性能差距其实没有很大。如果没有几倍的差别,不必纠结于性能,必要时使用视图和更高级的查询方式,比如 ElasticSearch。JPA对数据查询封装了一套基于JAVA的语法,可以屏蔽底层数据库的差异,但带来的是学习成本。JPA也支持原生 SQL。

Spring Data JPA 与 Spring 的理念一致,封装统一接口,屏蔽差异,解决一个问题的方案永远不止一种。从这个角度来说,不同程序员的知识储备不同,选择的方案不同,团队协同开发时学习成本增加。MyBatis 则没有这个问题,只需要学习 SQL 这一门大家都会的 DSL,和 基本 API 的使用即可。

建议 MyBatis。

缓存

  • Redis

统计及高级检索

  • ElasticStack

安全框架

  • Spring Security
    原理简单,基于一系列 filter 实现不同的策略,但代码复杂。
  • 自研
  • OAUTH 2.0 实现 SSO
  • JWT,无状态(实现高阶功能时也会在服务器保留少量状态)

反向代理及静态服务器

  • Nginx

面向运维

TODO

版本说明

组件 版本
Spring Cloud Greenwich (目前是SR4)
Spring Cloud Alibaba 2.1.0 或 最新稳定版
Spring Boot 2.1.x (目前是2.1.11)
其他 满足以上版本的最新稳定版

相关文章

  • WCS 系统技术选型

    面向开发 微服务框架 Spring Cloud 服务发现 Nacos 集中配置 Nacos API 网关 Spri...

  • 倍加福位置编码系统WCS介绍

    倍加福公司对现有的绝对位置编码系统WCS进行特别升级。基于光电对射原理的位置编码系统WCS,主要用于穿梭车和输送车...

  • springcloud和dubbo的区别

    技术选型 目前国内的分布式系统选型主要还是Dubbo毕竟国产,而且国内工程师的技术熟练程度高,并且Dubbo在其他...

  • 高并发场景下,Java 日志的最佳应用实践

    日志技术选型 Log 门面层选型 《阿里巴巴 Java 开发规范》【强制】应用中不可使用日志系统(Log4J、Lo...

  • 新监控系统技术选型

    原有系统及问题 我们原有的监控体系出于稳定和可靠性考虑,采用 mysql 存储,再加 python 开发分析与报警...

  • kafka-stream流式系统设计与实现(demo)

    需求分析 目的 重构某个由定时任务调度的系统,升级为流式系统。 技术选型 kafka-stream 2.7.0 k...

  • 仓库控制系统组成

    制造型企业的自动化立体仓库应用的wcs仓库控制系统 的软件主要由两部分组成:(1)wcs监控图形界面 ;(2)仓库...

  • 如何优雅地实现网页播放视频

    技术选型:React & GriffithPython & Sanic 1.背景 最近公司要做一个培训系统,其中一...

  • 爬虫(3-1 3-2)

    3-1 爬虫技术选型,爬虫能做什么?技术选型:scrapy vs requests+beautifulsoup1....

  • 技术选型指南

    这是一篇综合类技术选型指南,试图为你提供一份比较通用的技术选型思维框架。当你需要进行技术选型时,可以参照它来设计自...

网友评论

      本文标题:WCS 系统技术选型

      本文链接:https://www.haomeiwen.com/subject/qtedzctx.html