1. 技术说明

1.1. 整体方案

framework.jpg

名称 后端描述
后端开发语言 php
后端开发框架 lumen/doctrine/dingo
前端开发语言 HTML5/CSS3/ES6/小程序开发框架
前端开发框架 VueJS,Taro,Wepy
数据库 mysql
队列 redis/rabbitmq
缓存 redis/cache
cdn/oss 七牛云
图数据库 neo4j
搜索 ELK
日志搜集 Setntry/ELK
持续集成 Git, Gitlib Ci

1.1.1. OSS&CDN方案

支持方案: 七牛, 微信

  • 前后端分离
    系统前端生成多的css, js
  • 图片, 视频

1.2. 前端技术方案

1.2.1. 各端

PC

  • vue-router/vuex
  • vue+iview组件封装

移动端h5

h5端使用Taro

Taro 是一套遵循 React 语法规范的 多端开发 解决方案。现如今市面上端的形态多种多样,Web、React-Native、微信小程序等各种端大行其道,当业务要求同时在不同的端都要求有所表现的时候,针对不同的端去编写多套代码的成本显然非常高,这时候只编写一套代码就能够适配到多端的能力就显得极为需要。

使用 Taro,我们可以只书写一套代码,再通过 Taro 的编译工具,将源代码分别编译出可以在不同端(微信/百度/支付宝/字节跳动小程序、H5、React-Native 等)运行的代码。

Taro官网

微信小程序

  • Taro
  • Wepy

混合应用

  • h5页面内嵌, 与原生应用双向通讯

1.2.2. 工具链

  • webpack 资源打包/开发/发布
  • 基于vue-cli 3的开发框架
    • 命令行工具spx-cli, 用于安装/发布模块包
    • 基于vue-cli 3的插件, 生成样板代码 基础配置 注册模块等

1.2.3. 组件库

  • 基于vue的pc端基础组件库
  • 基于iview的业务组件

1.2.4. 前后端协作

  • yapi管理接口及文档 mock数据
  • spa应用, 通过yapi约定接口, 分别开发

1.3. 后端技术方案

1.3.1. 语言

php 7.2

1.3.2. 框架

前后端分离, 后端脱离传统系统的后端页面渲染. 专心只做API服务端, 因此在技术选型上选择了, 轻量级的lumen框架.

  • Lumen
    为速度而生的 Laravel 框架. Laravel是一套简洁、优雅的PHP Web开发框架(PHP Web Framework)。它可以让你从面条一样杂乱的代码中解脱出来;它可以帮你构建一个完美的网络APP,而且每行代码都可以简洁、富于表达力。
    laravel官网
    lumen官网
  • Dingo
  • doctrine orm
    • 支持 master slave
  • 开发模式
    service repository entity

1.3.3. 工具链

  • 包管理 - composer
  • 异常处理 - Sentry
  • API - swagger
  • doctrine

1.3.4. 使用服务

  • mysql
  • redis
  • neo4j
  • 队列服务
    • rabbitmq
    • redis
  • cdn+oss存储, 目前只支持 七牛云

1.4. 部署方案

1.4.1. 传统部署方案

1.4.2. kubernetes方案

目前支持阿里云 华为云

技术栈

  • kubernets
  • docker
  • helm
  • helmfile
  • 持续集成: gitlab-ci

results matching ""

    No results matching ""