`
cywhoyi
  • 浏览: 410251 次
  • 性别: Icon_minigender_1
  • 来自: 杭州
社区版块
存档分类
最新评论
文章列表
#![feature(proc_macro_hygiene)] #![feature(decl_macro)] #[macro_use] extern crate rocket; use rocket_contrib::json::Json; #[macro_use] extern crate diesel; extern crate dotenv; mod controller; mod domain; mod dto; mod repository; mod schema; mod service; use controller::*; use ...
#![feature(decl_macro, proc_macro_hygiene)] use rocket::response::content; use rocket::State; use juniper::tests::model::Database; use juniper::tests::schema::Query; use juniper::{EmptyMutation, RootNode}; type Schema = RootNode<'static, Query, EmptyMutation<Database>>; #[ ...
pragma solidity >=0.4.21 <0.6.0; contract Casino { address payable public owner; event Play(address payable indexed player, uint256 betSize, uint8 betNumber, uint8 winningNumber); event Payout(address payable winner, uint256 payout); constructor() public { own ...
pragma solidity >=0.4.17 <0.6.0; import "./SafeMath.sol"; import "./Strings.sol"; contract Game { using Strings for *; using SafeMath for *; address public manager; // address[] public players; struct GameInstructor { string nu ...
package main import ( "encoding/json" "fmt" "bytes" "time" "strconv" "github.com/hyperledger/fabric/core/chaincode/shim" "github.com/hyperledger/fabric/protos/peer" ) type MarblesChaincode struct{ } ty ...
      优势 服务暂时就两个,交易、签名服务 支持已有trade服务,即不改变已有api服务,无缝连接 协议走proto3,字节小+安全 支持同步和异步服务 支持机器人push 支持多终端,web UI采用react,backend用golang1.12 网络隔离 支持m of N的多签的钱包交易  劣势 编程难度提升 存在安全隐患   客户公司早期使用的Java语言作为服务端   syntax = "proto3"; option java_multiple_files = true; option java_pac ...
背景: 谈到微服务化,肯定会想到容器,谈到java的微服务化,势必也想到spring cloud,但是谈到数据微服务化,可能或多或少大家不太理解。Data Microservices被提出来,是要解决现在数据时代下,需要解决如下几个痛点问题,不分先后次序: 数据来源错综复杂,mq、rest、jdbc、log等 数据的信息结构复杂多样化 数据量很大,想象下爬虫、电商平台、新零售等 容器、云平台越来越稳健 机器学习、深度学习 并不是说之前的没有
背景:现在微服务大行其道,虽然微服务开山鼻祖是不建议在微服务下做分布式事务,领域驱动设计早已阐明,具有强一致性要求的一组业务概念,属于同一个聚合,不建议拆到不同服务中,从而尽可能避免分布式强事务一致性的处理。但是不可避免我们没有真的按照DDD领域驱动设计,那么微服务如何保持事务一致性呢? 我们这里采用的EventStore的方式,有基于memory、jpa、jdbc等方式,我今天采用了MapDB framework的方式,MapDB提供多种多样方式的数据结构有link、set、map、queue等。 EventMessage public interface Message<T& ...
就很好奇反编译出来自己写的代码,这里主要使用了五个工具,idea intellij、010edit、jgui、bytecode viewer、eclipse。   HelloWorld package com.google; import java.util.ArrayList; import java.util.List; public class HelloWorld { public String hi(String val) { String p = val; System.out.println(&quo ...
搭建一套微服务架构的,我个人觉得必须如下模块: config-service api-gateway circuit-breaker registry monitor ***-service 第一步构建config-service,登录http://start.spring.io/,选择gradle、maven,基础信息,更重要是选择所需要依赖的 <dependency> <groupId>org.springframework.cloud</groupId> <artifactId>spring-clou ...
作者:美团点评技术团队链接:https://zhuanlan.zhihu.com/p/23711137来源:知乎著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。在我们的工程实践中,偶尔会遇到一些服务由于网络连接超时,系统有异常或loa ...
问题背景:        在DDD的架构设计中最难以解决的就是一致性问题,所以我采纳是BASE的最终一致性的方式,至于最终一致性的概念,不在本博客中阐述,设计理念,不外乎就是弥补的方式。       可用性,无论是传统架构还是CQRS架构,都可以做到高可用,只要我们做到让我们的系统中每个节点都无单点即可。但是,相比之下,我觉得CQRS架构在可用性方面,我们可以有更多的回避余地和选择空间。传统架构,因为读写没有分离,所以可用性要把读写合在一起综合考虑,难度会比较更大。因为传统架构,如果一个系统的高峰期的并发写入很大,比如为2W,并发读取也很大,比如为10W。那该系统必须优化到能同时支持 ...
项目背景:        之前在某次培训的分享中,谈到rxjava、vertx等开源框架,也了解到callback概念,在分享的中某位童鞋谈到分布式下callback如何处理,说实话在当时的环境能够通过几句话描述callback都比较困难,更何况描述分布式下的callback,所以本文我想通过基于jgroup的方式,更好阐述我的理解如何处理分布式下的callback。           public class ReplyingCallback implements CommandCallback<Object, Object> { private ...
DDD领域驱动设计(DDD:Domain-Driven Design) 架构背景:     现有的架构设计实在受不了,业务的反反复复地变化,导致代码圈复杂度之深让人恐惧。之前的微服务架构经验让我更加彻底点,采用DDD领域驱动设计进行整个改变。     随着经过几个月的努力,确实慢慢地体会到ddd的架构设计的优势,聚合根设计能够协助我们整个服务改造,开发起来越来越迅速。   CQRS访问方式:  在CQRS的架构体系,首先会被独立出来两个组件,一个事command的微服务负责add、update等改变状态的动作,query的微服务顾名思义就是读动作。
前言:     Java语言作用很大,因有众多分门杂类的开源框架导致Javaer关注高并发细节问题偏少,常常被面试或者面试的时候,别人总是问你current的包,但是却很少人会询问你,“这段代码在高并发的情况下,会出现问题?我们应该如何改写呢?”所以本篇博客我想从最简单的demo,到支持高并发场景的,如果觉得过程中有问题问大家赐教。   案例:    经典多线程并发问题就是生产者消费者问题,以下列子中,我会加入多种条件,而非一个纯种的生产者-消费者模式,可能很多人会觉得现在有了concurrent的PKG下的一大堆ArrayBlockQueue,但今天主题是如何优化改进。 demo ...
Global site tag (gtag.js) - Google Analytics