SOP 正在参加 2021 年度 OSC 中国开源项目评选,请投票支持!
SOP 在 2021 年度 OSC 中国开源项目评选 中已获得 {{ projectVoteCount }} 票,请投票支持!
2021 年度 OSC 中国开源项目评选 正在火热进行中,快来投票支持你喜欢的开源项目!
2021 年度 OSC 中国开源项目评选 >>> 中场回顾
SOP 获得 2021 年度 OSC 中国开源项目评选「最佳人气项目」 !

软件简介

SOP(Simple Open Platform)

一个开放平台解决方案项目,基于Spring Cloud实现,目标是能够让用户快速得搭建起自己的开放平台。

SOP提供了两种接口调用方式,分别是:支付宝开放平台的调用方式和淘宝开放平台的调用方式。 通过简单的配置后,你的项目就具备了和支付宝开放平台的一样的接口提供能力。

SOP封装了开放平台大部分功能包括:签名验证、统一异常处理、统一返回内容 、业务参数验证(JSR-303)、秘钥管理等,未来还会实现更多功能。

项目特点

  • 接入方式简单,与老项目不冲突,老项目注册到注册中心,然后在方法上加上注解即可。
  • 架构松耦合,业务代码实现在各自微服务上,SOP不参与业务实现,这也是Spring Cloud微服务体系带来的好处。
  • 扩展简单,开放平台对应的功能各自独立,可以自定义实现自己的需求,如:更改参数,更改签名规则等。

谁可以使用这个项目

  • 有现成的项目,想改造成开放平台供他人调用
  • 有现成的项目,想暴露其中几个接口并通过开放平台供他人调用
  • 想搭一个开放平台新项目,并结合微服务的方式去维护
  • 对开放平台感兴趣的朋友

以上情况都可以考虑使用SOP

架构图

SOP

已完成列表

  • 签名验证
  • 统一异常处理
  • 统一返回内容
  • session管理
  • 秘钥管理
  • 微服务端自动验证(JSR-303)
  • 支持Spring Cloud Gateway
  • 关闭签名校验功能
  • 整合easyopen
  • Admin管理平台,统一管理微服务配置,管理路由管理,微服务上下线

后期规划

  • 完善admin功能
  • Spring Cloud Config(Zookeeper)
  • SDK

admin界面预览

admin

admin

admin

工程说明

运行环境:JDK8,Maven3,Zookeeper

  • doc:开发文档
  • sop-registry:注册中心,eureka实现
  • sop-gateway:网关,统一访问入口,Spring Cloud Zuul实现,可切换成Spring Cloud Gateway
  • sop-common:公共模块,封装常用功能,包含签名校验、错误处理等功能
  • sop-story:微服务示例,story服务,同时作为Provider提供服务
  • sop-book:微服务示例,book服务,也是Consumer,调用story提供的服务
  • sop-test:接口调用测试用例

相关文档

开发文档

展开阅读全文

代码

的 Gitee 指数为
超过 的项目

评论 (13)

加载中
能不能手工注册?
2021/08/11 09:13
回复
举报
不错,但API发布方式只能基于服务发现,通用性方面有局限,另外沙箱应该要与生产环境隔离,从数据库到 backend 都可以独立 希望作者保持初心,加油,存在就可能会有人使用,不论何种技术栈
2019/11/21 16:38
回复
举报
新手吧,不是一回事的呀
2019/09/30 15:54
回复
举报
k8s+istio大背景下,这么做还有什么意义?
2019/09/30 15:47
回复
举报
你先详细的看一下需求实现在叨叨,
2019/11/19 14:27
回复
举报
都spring cloud意图不是很明显了吗,想基于微服务方式来实现,底层技术选型已经落后了。希望再了解下大技术背景,从新思考和设计下。
2019/11/20 10:11
回复
举报
你的业务要对外暴漏的,现在大厂的生产环境都是三级防火墙。不可能让你直接把注册机暴漏出去,这时就需要 一个gateway.但微服务里的gateway和这个sop,根本不是一个重量级的。
2019/11/20 10:28
回复
举报
好吧,我们好像不是一个频道,你还停留在应用级别的服务注册于发现上。
2019/11/20 10:32
回复
举报
呵呵,这里要解决的是业务对外暴漏,报文的加解和接入商注册管理。至于istio的快速扩容,秒级发布,服务编排不是这里的重点。
2019/11/20 10:40
回复
举报
还有文档管理,沙盒环境,灰度发布等等。。。
2019/11/20 10:43
回复
举报
该评论暂时无法显示,详情咨询 QQ 群:912889742
回复 @大王来巡山 : 都spring cloud了还net毛线, ,闭环在自己的世界里。
2019/11/20 16:29
回复
举报
总有小众
2019/11/20 10:46
回复
举报
更多评论
发表了资讯
2020/02/19 14:05

SOP 3.1.0 发布,开放平台解决方案项目

SOP 3.1.0 发布,本次更新内容如下: 新增路由监控功能 新增路由拦截器 doc 优化负载均衡策略 本次更新重点内容是路由监控功能,网关统计每个接口的最大耗时,最小耗时,平均耗时,总调用次数,成功次数,失败次数。该功能是通过路由拦截器实现的。 登录admin后台可查看监控情况 关于 SOP SOP(Simple Open Platform) 一个开放平台解决方案项目,基于 Spring Cloud 实现,目标是能够让用户快速得搭建起自己的开放平台。 SOP 提供...

0
22
发表了资讯
2020/01/21 14:26

SOP 3.0.0 发布,开放平台解决方案项目

SOP 3.0.0 发布,本次发布内容如下: 重构spring cloud gateway网关 重构预发布/灰度发布环境选择 doc1 doc2 zuul和gateway网关二合一,可随意切换 doc 精简配置文件 优化文档中心页面 优化接口限流 本次属于一次大版本升级,主要的更新内容是重构和优化,Spring Cloud Gateway重构之后比之前更加稳定,在压力测试情况下没有出现error或timeout情况。压力测试参考此链接。 此外精简了配置文件,由之前的60多行减少到了6行配置,...

2
46
发表了资讯
2019/10/31 09:28

SOP 2.5.0 发布,开放平台解决方案项目

SOP 2.5.0 发布,本次发布内容如下 网关可校验 token(需要执行sop-2.5.0.sql升级文件) doc 在微服务端 @ApiMapping 注解中指定 needToken 属性为 true,网关可自动校验 token @ApiMapping(value = "story.token.get", needToken = true/* 设置true,网关会校验token是否存在 */) public StoryResult token(StoryParam story) { OpenContext openContext = ServiceContext.getCurrentContext().getOpenContext(); ...

0
21
发表了资讯
2019/10/15 08:57

SOP 2.4.0 发布,开放平台解决方案项目

SOP 2.4.0 发布,本次发布内容如下: 支持自定义限流持续时间(每n秒允许m个请求,需要执行`sop-2.4.0.sql`升级脚本) 注意:本次升级需要执行sop-2.4.0.sql脚本 在使用窗口限流的情况下,可指定窗口时间,即在n秒内允许m个请求,如下图所示: 关于 SOP SOP(Simple Open Platform) 一个开放平台解决方案项目,基于Spring Cloud实现,目标是能够让用户快速得搭建起自己的开放平台。 SOP提供了两种接口调用方式,分别是:支付宝开...

1
36
发表了资讯
2019/10/09 08:45

SOP 2.3.0 发布,开放平台解决方案项目

SOP 2.3.0 发布,本次更新内容如下: 支持请求restful接口(设置sop.restful.enable=true) doc 默认情况下 SOP 只提供开放接口,也可以同时提供 restful 接口,即程序提供一部分的开放接口,同时提供一部分 restful 接口。 默认情况下提供 restful 功能是关闭的,开启方式如下: 打开 sop-gateway 配置文件,新增一行配置: # 提供restful接口 sop.restful.enable=true 现在开放接口和restful接口可以共存了 @RestControl...

0
17
发表了资讯
2019/09/30 10:33

SOP 2.2.0 发布,开放平台解决方案项目

SOP 2.2.0 发布,本次发布内容如下: 支持eureka注册中心,见eureka分支 签名内容支持urlencode(设置sign.urlencode=true) 可扩展其它注册中心 关于 SOP SOP(Simple Open Platform) 一个开放平台解决方案项目,基于Spring Cloud实现,目标是能够让用户快速得搭建起自己的开放平台。 SOP提供了两种接口调用方式,分别是:支付宝开放平台的调用方式和淘宝开放平台的调用方式。 通过简单的配置后,你的项目就具备了和支付宝开放平...

0
20
发表了资讯
2019/09/11 10:40

SOP 2.1.0 发布,开放平台解决方案项目

SOP 2.1.0发布,本次更新内容如下: 支持分布式限流(redis实现) doc 可调整JSR-303校验顺序 doc 修复springmvc工程注册到nacos无法读取路由配置问题 关于SOP SOP(Simple Open Platform) 一个开放平台解决方案项目,基于Spring Cloud实现,目标是能够让用户快速得搭建起自己的开放平台。 SOP提供了两种接口调用方式,分别是:支付宝开放平台的调用方式和淘宝开放平台的调用方式。 通过简单的配置后,你的项目就具备了和支付宝开...

0
24
发表了资讯
2019/09/04 10:40

SOP 2.0.0 发布,开放平台解决方案项目

SOP 2.0.0发布,本次更新如下: 全面使用nacos,替代zookeepe 可自定义文档模块显示顺序 修复SpringCloudGateway网关路由查找失败问题 支持文件下载 关于SOP SOP(Simple Open Platform) 一个开放平台解决方案项目,基于Spring Cloud实现,目标是能够让用户快速得搭建起自己的开放平台。 SOP提供了两种接口调用方式,分别是:支付宝开放平台的调用方式和淘宝开放平台的调用方式。 通过简单的配置后,你的项目就具备了和支付宝开放...

6
32
发表了资讯
2019/08/14 09:08

SOP 1.15.0 发布,开放平台解决方案项目

本次更新内容如下: 优化预发布、灰度 doc 网关动态修改请求参数 doc 支持swagger-bootstrap-ui插件 admin服务列表在线/离线筛选(在线靠前) 文档刷新逻辑 测试all in one 修复返回中文乱码问题 关于SOP SOP(Simple Open Platform) 一个开放平台解决方案项目,基于Spring Cloud实现,目标是能够让用户快速得搭建起自己的开放平台。 SOP提供了两种接口调用方式,分别是:支付宝开放平台的调用方式和淘宝开放平台的调用方式。 通过...

0
38
发表了资讯
2019/07/08 09:47

SOP 1.12.0 发布,开放平台解决方案项目

本次更新内容如下: admin后台新增角色管理 支持nacos作为注册中心(见registry-nacos分支) doc 本次更新的重点内容是支持nacos注册中心。SOP基于Spring Cloud体系构建,默认注册中心使用eureka,应群里小伙伴要求,现已支持nacos作为注册中心,并且admin可控制服务实例的上下线。除此之外还可以对其它注册中心做扩展,如consul,扩展方式详见文档:扩展其它注册中心 关于SOP SOP(Simple Open Platform) 一个开放平台解决方案项...

1
19
发表了资讯
2019/06/28 10:58

SOP 1.11.0 发布,开放平台解决方案项目

本次更新内容如下: 秘钥管理改造 doc 服务端返回sign 新增SDK返回sign处理 新增沙箱环境 本次更新的重点内容是秘钥管理,新增了平台方的公私钥。如此一来,对接开放平台会有两套公私钥,一套由开发者生成的,一套由开放平台生成的。其中开发者持有appKey,开发者私钥、开放平台公钥。对接过支付宝开放平台的同学应该不会陌生。 新增了开放平台公私钥后,会对返回的结果进行一次签名,返回的类似下面格式: { "alipay_s...

1
32
发表了资讯
2019/06/10 09:57

SOP 1.10.0 发布,开放平台解决方案项目

SOP 1.10.0 发布了,本次更新内容如下: 新增监控日志,方便排查线上问题 doc 修复文档显示 BUG 本次更新重点内容是线上日志查看。查看日志有多重方式,如 ELK 或者直接登录服务器翻看日志文件。SOP 提供了一个简易方式去查看日志,开发者登录后台管理界面即可查看线上报错日志。 如上图所示,界面会显示具体哪个应用中的哪个接口报错,报错次数,报错信息。点详情可查看具体报错信息。 关于SOP SOP(Simple Open Platform) 一个...

0
17
发表了资讯
2019/05/22 11:23

SOP 1.9.0 发布,可进行多维度限流

SOP 1.9.0 发布了,更新内容如下 限流改造 doc 优化参数绑定 1.9.0 将之前的限流进行了改造,新的限流支持更多的限流方式。之前只能针对某个接口限流,新版限流可以在路由 ID(接口)、appKey、ip上进行限流。 可针对接口进行限流,所有访问该接口的请求都被限流 可针对 appKey 进行限流,某个 appKey 请求过来后,对他限流 可针对 IP 进行限流,某个 IP 请求过来后,对他限流 此外还可以进行组合 可针对接口 +appKey 进行限流,...

3
26
发表了资讯
2019/05/15 15:10

SOP 1.8.0 发布,开放平台解决方案项目

SOP 1.8.0 发布,本次更新内容如下: 支持文件上传 doc SDK使用文件上传方式如下: JAVA SDK DemoFileUploadRequest request = new DemoFileUploadRequest(); DemoFileUploadModel model = new DemoFileUploadModel(); model.setRemark("上传文件参数"); request.setBizModel(model); List<UploadFile> files = new ArrayList<>(); String root = System.getProperty("user.dir"); System.out.println(root); // 这...

2
22
发表了资讯
2019/04/29 09:10

SOP 1.6.0 发布,开放平台解决方案项目

本次更新内容如下: 新增应用授权功能 doc 本次更新的重点是应用授权功能 1、用户对开发者进行应用授权后,开发者可以帮助用户完成相应的业务逻辑。 2、授权采用标准的OAuth 2.0流程。 授权流程 更多信息,请参考开发文档 关于SOP SOP(Simple Open Platform) 一个开放平台解决方案项目,基于Spring Cloud实现,目标是能够让用户快速得搭建起自己的开放平台。 SOP提供了两种接口调用方式,分别是:支付宝开放平台的调用方式和淘宝...

0
44
发表了资讯
2019/04/16 09:49

SOP 1.3.0 发布,开放平台解决方案项目

本次更新内容如下: 新增接口限流功能 doc 新增文档整合功能 doc 实现原理 新增springmvc项目接入demo 下个版本将会更新: 监控 本次更新的重点内容是接口限流和文档整合功能 接口限流管理页面预览: API文档界面: 关于SOP SOP(Simple Open Platform) 一个开放平台解决方案项目,基于Spring Cloud实现,目标是能够让用户快速得搭建起自己的开放平台。 SOP提供了两种接口调用方式,分别是:支付宝开放平台的调用方式和淘宝开放平...

0
47
发表了资讯
2019/04/08 12:31

SOP 1.2.0 发布,开放平台解决方案项目

SOP 1.1.0发布,此次更新内容如下: SOP Admin新增用户登录 新增基础SDK(Java,C#) doc 下个版本将会发布: 文档整合 springmvc项目接入demo 限流管理 本次更新的重点是基础SDK,Java版SDK使用方式如下: String url = "http://localhost:8081/api"; // zuul String appId = "2019032617262200001"; String privateKey = "你的私钥"; // 声明一个就行 OpenClient client = new OpenClient(url, appId, privateKey); ...

0
29
发表了资讯
2019/04/02 09:35

SOP 1.1.0 发布,开放平台解决方案项目

SOP 1.1.0发布,此次更新内容如下: 新增ISV管理 doc 新增接口授权 doc 下个版本将会发布: 基础SDK(js,Java,C#),编写SDK不在困难 限流管理 关于SOP SOP(Simple Open Platform) 一个开放平台解决方案项目,基于Spring Cloud实现,目标是能够让用户快速得搭建起自己的开放平台。 SOP提供了两种接口调用方式,分别是:支付宝开放平台的调用方式和淘宝开放平台的调用方式。 通过简单的配置后,你的项目就具备了和支付宝开放平...

3
37
没有更多内容
加载失败,请刷新页面
点击加载更多
加载中
下一页
发表了博客
2013/12/07 20:38

sop-

1找到种子程序 2视频教程+例子程序 2遇到问题 (1)本个问题卡住太久,超过一个小时,则马上去做其他的事情。等其他事情做完,在反过来做,就会有思路,至少会有进展。 例:调试64位驱动 (2)读其他相应文章,以补充知识。知识了解的越多则越有想法。如:想驱动开发时卡住,读了inf的相关文章找到灵感 (3)如夏洛克一样,不要放过任何一个线索,分析它;甚至通过不同角度去找线索 例:调试64位驱动 尽量选择跨语言的第三方组件...

0
0
发表了博客
2018/09/10 21:45

软件开发操作规范SOP

软件开发操作规范SOP 版本 修订内容 v0.0.1 [20160620]完成草稿. 1.源码开发 使用到的工具,SVN,SourceInsight3.5,BeyondCompare. 2.善用工具 SourceInsight是很强大的代码编辑和阅读工具.但是标准版本是不支持UTF8字符编码的,中文是使用ANSI编码才显示正常的. 幸好我们有一些插件帮忙. 我建议使用这些插件,从而支持UTF8编码,能够在各种编辑器和编译平台完美显示. SourceInsight还有一些可自定义的宏,极大提高编码效率. 此外建议...

0
0
发表了博客
2018/05/22 10:52

芯片封装——SOP

之前我们介绍过DIP封装,这期我们介绍SOP封装。 SOP封装是一种元件封装形式,常见的封装材料有:塑料、陶瓷、玻璃、金属等,现在基本采用塑料封装,主要用在各种集成电路中。SOP封装的应用范围很广,而且以后逐渐派生出SOJ(J型引脚小外形封装)、TSOP(薄小外形封装)、VSOP(甚小外形封装)、SSOP(缩小型SOP)、TSSOP(薄的缩小型SOP)及SOT(小外形晶体管)、SOIC(小外形集成电路)等在集成电路中都起到了举足轻重的作用。...

28
0
发表于开发技能专区
2020/01/09 15:51

彻底理解浏览器同源策略SOP

本文来自于公众号链接: [彻底理解浏览器同源策略SOP](https://mp.weixin.qq.com/s/NTz37ljGsQBsiikcADkhUA) ![](https://book-spring-security-oauth2-1258315756.cos.ap-chengdu.myqcloud.com/maven/mavenlogo.webp)) 1. 多种认证方式的优先级问题,如何杜绝冲突的问题 1. 两个示例的描述不清晰的问题 **这是一篇理论和实战相结合的干货文章,建议手机阅读者收藏本文,然后使用电脑下载源码进行实战** > 大纲: > 1. 一.概述 ...

0
0
2014/04/17 00:58

面向对象编程(OOP)、面向组件编程(COP)、面向方面编程(AOP)和面向服务编程(SOP)

1、什么是面向对象编程(Object-Oriented Programming)? 面向对象编程(Object-Oriented Programming)简称OOP技术,是开发计算机应用程序的一种新方法、新思想。过去的面向过程编程常常会导致所有的代码都包含在几个模块中,使程序难以阅读和维护。在做一些修改时常常牵一动百,使以后的开发和维护难以为继。而使用OOP技术,常常要使用许多代码模块,每个模块都只提供特定的功能,它们是彼此独立的,这样就增大了代码重用的几...

2
20
发表于开发技能专区
2018/03/30 21:55

墨菲定律:你所担心的事情一定会发生,而且会很快发生,所以准备好你的SOP(标准化解决方案)!

墨菲定律:你所担心的事情一定会发生,而且会很快发生,所以准备好你的SOP(标准化解决方案)!

0
0
没有更多内容
加载失败,请刷新页面
点击加载更多
加载中
下一页
暂无内容
13 评论
130 收藏
分享
OSCHINA
登录后可查看更多优质内容
返回顶部
顶部