You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@servicecomb.apache.org by "wujimin (JIRA)" <ji...@apache.org> on 2018/07/18 09:13:00 UTC

[jira] [Created] (SCB-756) improve development phase flexibility

wujimin created SCB-756:
---------------------------

             Summary: improve development phase flexibility
                 Key: SCB-756
                 URL: https://issues.apache.org/jira/browse/SCB-756
             Project: Apache ServiceComb
          Issue Type: Task
          Components: Java-Chassis
            Reporter: wujimin


currently ServiceComb engine more care for product environment, contract between consumer and producer must be the same.

but for develop environment, because of the possibility of collaborative development and shared environment, even for the same microservice with same version, contract is different between different instances.

so in develop environment, consumers must not depend on contract from SC,  to support this, we must:
 * add signature of contract to MicroserviceInstance
 * consumer get contract from target microservice instance, not from SC
 * consumer compare the signature of contract between microservice level and instance level, if not match, that means it's a special instance, then
 ** if in product environment, then log the error message and throw exception
 ** if in development environment, then use instance level contract
 * in development environment remove the action of override contract in SC.
 * highway always use instance level contract, that can provide more compatible ability then native protobuf mechanism

 

notice:

  how to locate to operation by url?

  because locate depend on contract, but when in development environment, maybe for the same microservice with same version, contract is different between different instances, because they belongs to different developers.

  so we need to support filter instances by developer in org.apache.servicecomb.serviceregistry.consumer.MicroserviceVersions#mergeInstances



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)