REST是实现SOA的一种技术手段
比如服务与服务之间的通信采用REST接口。
但其实服务与服务之间通信不仅是可以REST,同时可以用消息队列,分发器,soap等等
更具体的是,SOA代表一种战略意图,REST是实现战略意图的一种战术
月度归档: 2017 年 5 月
SOA是什么
SOA应该是一个可递归的概念。
在不同的层级下具有相同的架构,即一组功能对外形成契约,然后组成一个服务
多个服务组成并表达出了企业的战略目的.
有一些不得不吐槽的
新技术真的好么,我并不觉得,至少我所在的层级很不喜欢各种新技术
我原来从来没用过MyBatis,总听说多好多好,但是在绝大部分场景下,都不如我直接用spring jdbc template来的方便,它那套orm转换预设了太多假设,为了解决那一堆不符合假设的场景又发明一堆概念。
比方说一个很简单的例子:
- 我的数据库的时间字段是varchar类型保存的,那么我用Spring jdbc大概会需要对一个表对象写大约二十行的代码做orm转换。
- 但是我用Mybatis也不见得少几行,特别是用xml写sql的时候还要自己指定Handler来做转换。
- 有一点更不方便,项目大部分都采用spring做对象管理,当基础包和上层应用都用spring管理了,而基础包却依赖了某个特定的spring配置项,然后大家就呵呵了
其实最中心想吐槽的应该是,基础包应该尽可能的少依赖外部,或者说自有配置应该打包输出并封装在自己的项目,不要和上层应用发生耦合,会造成各种的不舒服.
密码保护:office激活
Netty是啥
Netty目前是为多个程序之间通信提供了一致性编程模型接口的通用组件库
提供了,NIO,epoll,BIO……等
数据同步
网络传输的数据结构要点:
要能区分出数据来源
要能区分数据新旧
要能分辨数据正确性
除了对数据结构的直接操作,其他都应该是外部组件
数据状态
正常
过旧
冲突(定义为异常状态需要使用者自己处理)
以上抽象成Condition
可能的复杂点
多数据冲突同一个数据,组件不解决,应该由业务处理
组件需要保证每次同步都将会是原子操作,故而多线程并发会是难点
尽可能使的组件易于扩展(尽量用接口编程)